HTML5 audio with HLS streaming with DVR timeshift on Samsung Internet - html

i am trying to make a web based streaming player (http://srv.deutschlandradio.de/themes/streamplayer/index.html) work for Samsung Internet (Samsung's Android stock browser), without success.
The stream plays, but I am unable to control it's position. It seems that Samsung's browser supports basic HLS streaming, but no seeking (nor live playing) of streams with DVR (DVR functionality allows viewers to pause, play, and rewind live streams for a certain time).
For example, audioElement.currentTime always returns 0, and changing it's value, it switches back to 0 every time.
This works fine on other browsers (as documented here: https://www.w3schools.com/tags/av_prop_currenttime.asp).
Is there any documentation on streaming support with DVR window for Samsung Internet?
I am asking Samsung directly at the same time, but as Peter O'Shaughnessy suggests I am posting it here. I still hope I am not the only one who tried to implement this on StackOverflow... Maybe there are some workarounds? MediaSourceExtensions are not supported either, as it seems.
Thanks!

The samsung browser, known as "Samsung Internet", does not seem to support MediaSource Extensions, see this thread for more details: https://github.com/SamsungInternet/support/issues/5
It behaves exactly as chrome without MediaSource extensions.

Related

Cross-Browser WebRTC Video Viewer Only

I have been doing a lot of research into WebRTC for a project I am currently working on. I am aware that it is only supported in Chrome, Firefox, and now Opera. However, I am wondering if their is a cross-browser viewer solution that does not require a plugin. This way I could require that broadcasts be done from a webRTC compliant browser but viewers could use other browsers such as Safari or IE with watching/viewing capabilities only.
The application I am working on is used for small group broadcasts of 25 or less people with a single publisher/presenter.
Here is a list of the options/ideas so far.
Somehow have a html5 canvas element display the frames of the video on non-webRTC supported browsers. However, I also need to support audio as well and I don't believe there is anyway as of right now to feed the audio stream into the HTML5 audio element. This option may be dead before it is even considered...
Have a server subscribe to the webrtc stream and then create a HLS (HTTP Live Stream) stream that can then be consumed by a browser player (Possibly Flowplayer, it supports cross-browser HLS to the best of my knowledge). I have found that Web Call Server 4 from the guys at Flashphoner can do the conversion to HLS but it seems like overkill for a simple server that does the WebRTC to HLS conversion. Hoping that there may be some sort of node.js implementation out there to generate the playlist and files for HLS so there is low latency.
Any help from the community on this would be much appreciated. The question is pretty specific and I have been researching solutions for the last 2 months so I think it warrants a stack overflow post at this point.
-- UPDATE
There may be a 3rd option here, having users on non-webrtc supported browsers install a plugin. This would only be for Safari and IE but it may be a solution. One free plugin that can be distributed for an app based on my findings are [link]https://github.com/sarandogou/webrtc-everywhere It may be possible to use this plugin with something like Kuento for signalling and achieve a solution that will at least work on all desktop browsers until Safari and IE catch-up with WebRTC.

HTML5 Multi Track Sync Video Audio on IOS

I'm looking for a way to multitrack a video with a bunch of sounds.
IOS prevent multiple audio and video to play at the same time.
I found a way on IOS, to launch a sound and an audio by putting the video.play() command in a setTimout (500ms). But this don't works every time, and the medias are not sync. This is not code consistent and maybe apple will correct this on breach on next version of iOS
MediaGroup and MediaController seem supported on iOS but not work properly.
AudioTrack was implemented on some navigators and seem to be removed
What is the alternative?
I've already tried those:
//gingertech.net/2011/05/01/html5-multi-track-audio-or-video/
//blog.denivip.ru/index.php/2013/10/alternative-audio-tracks-in-html5-video/?lang=en
//ldki.blogspot.ca/2012/11/15-html5-video-player-sync-second-audio.html

How to deal with poor HTML5 video performance in Chrome?

Over a year ago we added an video page on our site. At the time OGV wasn't very good, and there was no good WebM encoders available, so we decided to use HTML5 and h.264 for webkit browsers (Chrome, Safari, etc.) and then fallback to Flash for other browsers (using the same h.264 source file.)
This has been working great for a while. Recently (month or two maybe, so over multiple Chrome versions - currently Version 24.0.1312.52 m) we discovered Chrome really lagging on the playback. We thought it was a server issue, so we upgraded the server, and it is still behaving the same. I remembered reading that Google wanted to drop h.264 and move everyone to WebM, and thought this performance was part of that. We converted some videos to WebM and tested them with Chrome and they lag just as bad. Same video (WebM) streams beautifully in FireFox, and the MP4 streams great in FireFox via the Flash plug in.
I went to YouTube and turned on the HTML5 video support, and found the videos to lag in Chrome too (when running at HD) while they play fine in Flash mode. (Even when HTML5 is enabled, some videos still play via Flash.)
Tested on both Windows 8 and Mountain Lion.
I've talked to co-workers and they are seeing the same issues. So it isn't just me. So my question is:
Is this an issue with our video encoding?
Is it a bug with Chrome?
Or is it just localized to us?
Is there a way to deal with this besides switching back to Flash?
This is the flag I mean. If the flag is disabled, the browser tries to use hw-accelerated video decoding, which I can grant provokes wrong and slow video renderization in some devices. If enabled, hw-accelerated video decode is never used, but the above mentioned problems disappear. It theorically increases decoding time in devices actually able to use such acceleration, but I've been working around this field for almost a year and I still didn't realize any difference in that matter. Still didn't get to know how to identify if a device will behave properly (the availability of this feature doesn't seem to grant its proper behavior) with such acceleration without testing, though.

Are there any WebRTC implementations that allow for video recording?

According to this question, WebRTC is apparently already partly implemented on a development versions of FireFox, Chrome and Opera.
However, I read that video recording from device is not yet supported in the Chrome Canary build. Are there any implementations that allow for that at this stage?
A very late answer but alot is happening in this area so I thought I could give an update to those (like me) that finds this question by searching.
You can try using
RecordRTC
The video can be save to disk by using the saveToDisk function described in the link below:
http://muaz-khan.blogspot.se/2012/10/save-files-on-disk-using-javascript-or.html
The API for this is still up in the air, and as a result, isn't on Chrome's WebRTC v1 feature list. See http://blog.chromium.org/2012/01/real-time-communications-in-chrome.html
Full disclosure: I work for Ziggeo.
Ziggeo has a video recording api. We use WebRTC for recording on Chrome, Opera and Firefox, fall back to Flash on other desktop browsers and use input capture on mobile devices.
You can also roll your own WebRTC solution:
on Chrome and Opera, you have to record audio and video separately and encode them yourself in JS; then, send them to your servers and transcode them using e.g. ffmpeg to mp4s and other target formats
on Firefox, you can get a webm object for video and audio combined and send it to your servers.
You are looking for PeerConnection support, which lets you send audio/video (and other data) to peers (such as servers or other users.)
WebRTC PeerConnection support (without flags) landed in Chrome 23 as detailed in this Chromium blog post from October 2012.
At the moment only OpenTok and Lynckia are providing (beta-versions of) servers/services to record video with WebRTC.
From the existing major streaming servers only Wowza indicated that they are monitoring WebRTC but don't yet have plans for implementing it.
The answer, for now it seems, is "No". Chrome Canary is the furthest when it comes to implementing WebRTC, and they haven't built it either .

Does HTML5 support HTTP Psuedostreaming of video?

Can I click on some time and eventhough the video is not downlaoded till that time and the video starts playing from the time I clicked?
If yes, what would be a better option for viewing streamed video- HTML5 or flash player like JW player? WHich one will have less lag?
HTML5 browsers generally don't support this, however I believe the video tag in Safari will work with the Apple HTTP Streaming format for this functionality. For something that works across all browsers, Flash Player can do it using either RTMP streaming or HTTP Streaming (either with our without OSMF to support this). Probably the easiest place to start is with OSMF, which supports both RTMP and HTTP streaming of video.
I have tested this with Firefox and Firebug and while you can "seek" to a point in the video without having to watch video preceding the point you wish to seek, this still causes the entire video file to download.
Indeed, each time you seek in Firefox 4, the entire video downloads.
This may change and improve as HTML 5 video implementations become more mature and may differ based on the actual browser being used.
More information on the test here:
http://www.stevefenton.co.uk/Content/Blog/Date/201106/Blog/HTML-5-Video-In-Real-Life/