Twilio WebRTC Video freezing on Mobile Web - mobile

I've implemented the Twilio Video quickstart code in my project using ReactJS and after a few tweaks, it all seems to work fine on chrome and firefox from my computer, but when I try to use either the preview or make a call with another client from my mobile web browser, the video does not move. It is stuck, but the video streams will work fine if I am moving the screen with my finger or if my finger is just on the screen, but will freeze on it's current frame the moment I stop moving the screen. I am not sure if this is an issue with the way Twilio attaches the video or if there is just something about mobile browsers that I don't understand when attaching video streams.
Thanks for the help

So there are a few things that could be going on here. Currently and also for the foreseeable future, Twilio Video will require the A6 system on chip, so older devices like an iPod Touch (5th gen) for example, would not supported.
https://www.twilio.com/docs/api/video/system-requirements
You might try to modify the bitrate indirectly through modifying the resolution. There is some sample code (in Swift) demonstrating this API:
https://github.com/twilio/video-sample-ios-capture-render/blob/master/VideoSampleCaptureRender/ViewController.swift#L205
Lastly, reporting of connection information through the conversation delegate does receive statistics:
https://media.twiliocdn.com/sdk/ios/conversations/releases/0.22.0/docs/Protocols/TWCConversationDelegate.html#//api/name/conversation:didReceiveTrackStatistics:
however there is not an automatic way to adjust the resolution based on these statistics.
Hope this helps to point you in the right direction. Please let me know in the comments what you find out.

Related

Screen sharing and screen control on android and iOS using WebRTC

I've to share a mobile screen and display it on a browser using WebRTC. I then have to take control of the mobile screen.
I've researched this and know I can share a screen browser to browser using chrome(with extension) or firefox(after certain flags are set). Some information I've read suggests that screen sharing on mobile is not possible and then another article said it was but I think they meant be sharing through the chrome browser on a mobile.
Some of the the information and posts I read are dating back to 2013/2015/2016 and I wondered if there is any new information on this?
Is screen sharing on mobile devices(android or iOS) possible using webrtc now?
is screen control on mobile devices possible?
Thanks Andrea
I also investigated this topic a few days ago and it seems to me we are on the verge of the next step and the technology hasn't totally settled yet. Screencapture is mostly working with (very) up-to-date browsers and (still) an extension or some kind of white-listing. I could not find any kind of hint that a "remote control" mechanisms are part of webrtc and the getUserMedia implementations. Unfortunately.
ICE seems to work fine for most scenarios (if you don't mind waiting a minute) and Tickled ICE adresses the problem in an interesting way.
Mobile is very confusing indeed as the market is even more heterogeneous.
Maybe we should open a wiki or a chat channel or whatnot they habe nowadays on stackoverflow :-) I think I will have to read about this "community wiki" checkbox down there...
The most promising thing I could find was
https://inthelocus.com/
Still trying it out in different scenarios.
[This might not be an answer...] I was on the same topic and then I noticed there's an existing tool (SDK) to serve the similar purpose: https://cobrowse.io. It works good in both the demo video and the simulator web page. Yet I'm not sure if it utilises WebRTC...

Playing Flash video using cefsharp or Geckofx

I'm putting together a simple winforms app for playing videos from the web for my kids. I've explored two options so far but I'm having problems with both of them:
cefsharp: Playing videos wasn't a problem, but it would not persist cookies (even with the CachePath set), so I would have to log into the web sites each time. This would not be very user-friendly.
GeckoFX: No matter what site I go to (youtube for example), flash videos will not play. I get a bank section on the page where the video goes. Based on other questions, I tried adding the line "Gecko.GeckoPreferences.Default["extensions.blocklist.enabled"] = false;" right after the initialize statement, but that did not work. I'm running xulrunner-33.0.2 and GeckoFx-Windows-33.0-0.2.
Any ideas on how to get either solution working would be appreciated.
UPDATE:
I found this site https://bitbucket.org/geckofx/geckofx-29.0/issue/14/plugin-flash-not-working-since-xulrunner which stated to turn off the "Visual Studio hosting process" for the project and now YouTube video play with GeckoFX, but no videos play off xfinitytv's site (http://xfinitytv.comcast.net/watch-live-tv/).
A bug has recently been fixed in CefSharp to make this possible. See this issue: https://github.com/cefsharp/CefSharp/issues/843
What should work is:
setting CachePath
set the persist_session_cookies command line argument
after OnContextInitialized, call Cef.SetCookiePath
You'll need to use the latest version 39.0.1 to get access to the OnContextInitialized delegate.

RTSP Protocol or HTML5 Video Tag?

Currently in full development of a mobile application video sharing (based on PhoneGap), I hesitate about the method used to send / play videos on mobile. So I have a choice between using the HTML5 video tag (which apparently require an additional plugin so that there was no problem in android), and the establishment of an RTSP streaming server, which I think the native video player will be directly launch.
I want to know what would be the best solution to watch these videos without losing quality with the ability to navigate the time of the video.
Thank you,
Yeppao
Both streamed videos and embedded <video> elements will open in the native player (at the time of writing at least) and you won't be able to display video inline. See this recent question of mine.
So, at least to me, this boils down to the question if you can afford the streaming (both in terms of costs and maintenance) since a streamed video will always offer a better user experience (in case the streaming works properly...) than a downloaded one.

Are there any good captchas specifically designed for mobile apps?

Is there anything that is less intimidating than recaptcha for mobile apps? My app is built with JQuery Mobile and most likely will never be available on the desktop. I am hoping there is a more visual captcha that would not require typing. So far most visual captchas I have found seem too large for a mobile app. I am mainly looking for something that is visual and small enough to fit within the average mobile screen. Any suggestions would be appreciated, I would even be willing to build something from scratch if someone has a good idea.
I don't know if you are using HTML5 or not, but there is a pretty cool captcha that I've used called MotionCAPTCHA. What it does is it presents a shape and the user traces the shape with their finger on their mobile device. Its pretty cool. I've used it with Android and it works pretty well. It requires jQuery and HTML5.
Damn, that MotionCAPTCHA link appears to be dead. I found this question looking for similar things to what we're working on at my current company.
We have a HumanDetect mobile SDK trying to solve a similar problem. The overall idea is we grab sensor data from the phone so we can determine "bot or not". You ask the SDK for a token, then send that token along with your REST request, and then that token can be validated. If everything works as expected only a mobile device in the hands of a human should produce a token that validates as "not a bot".
It's native code, not using the browser. For the end-user's point of view, it is transparent, the user isn't asked to perform any action.

Silverlight programmatic access to Sony RZ30N Video Feed

I would like to bypass the web-server functionality of a Sony SNC-RZ30N network attached web cam and display the video feed in a Silverlight application.
I can't seem to find any examples of interfacing with the camera programatically.
Any leads would be much appreciated. Thx.
Update 09/09/2008: Found a good site with Javascript examples to control the camera, but still no means to embed the video in an iFrame or the like:
http://www2.zdo.com/archives/3-JavaScript-API-to-Control-SONY-SNC-RZ30N-Network-Camera.html
Doug
I don't know the details of the Sony network camera and the server side software. But what do you mean by web-server functionality - is that the UI that get served up to the users in form of a HTML page? Or is it something more, like a server capturing the video stream and transcoding it?
I think the direction you need to take is to first find the URL end-point of your video stream. Since it's a network camera I assume the camera has a built in IP-stack/HTTP server serving up the video stream. Once you have that feed you probably have to transcode it into a video format consumable by Silverlight. There are multiple tools you can use, but for Silverlight the preferred tool Microsoft Expression Encoder. It supports live transcoding of webcam video streams. I think it supports both Direct Show devices as well as video streams.

Resources