WebM video format on MediaElement (Windows Phone 8) - windows-phone-8

Is it possible to play webm video on the mediaelement. I know in WP7 you can't but how about WP8. What alternatives do I have. For now I'm thinking converting the videos to mp4 or check if there is a decoder or something for it.

According to this (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff462087%28v=vs.105%29.aspx)
and this
Windows Phone 8 & Html5 video : Is it possible to play video inline in webpage
you can't
But for example this app http://www.windowsphone.com/en-us/store/app/getthemall/b35d35ae-17c9-44a1-b751-287e347045cb can play it

Related

VP9 WEBM video support in EDGE browser

I see that EDGE claims VP9 codec support in the latest versions by enabling the VP9 in MSE in their browser configuration.
I tried doing that and still, it doesn't work and it throws an error saying this type of video file isn't supported.
I had launched the https://html5test.com/compare/browser/mybrowser.html URL in the EDGE browser and this says VP9 is not supported in the browser and in the same time youtube videos are streamed in WebM vp9 codec(used stats for nerds to check this).
I am using this in my HTML file
<video>
<source src="http:/url/123.webm" type="video/webm"/>
</video>
Youtube's https://www.youtube.com/html5 claims that it can play MSE & WEBM vp9, and it is able to play vp9 videos, is there any difference in the way a request is served by the server for vp9 and MSE & vp9.
I am able to play the VP9 video in chrome and firefox without any issue.
Thanks in advance for the help.
As of EdgeHTML 15.15063, WebM + VP9 is only supported when using MSE (Media Source Extensions). The tag you're using:
<video>
<source src="http:/url/123.webm" type="video/webm"/>
</video>
is not using MSE. To do so, you need to create a MediaSource object in JavaScript and stream your video content into a SourceBuffer. One example that walks through this is in Microsoft's streaming player example:
To use the MSE API, follow these steps:
Define an HTML5 video element in the HTML section of a page.
Create a MediaSource object in JavaScript.
Create a virtual URL using createObjectURL with the MediaSource object as the source.
Assign the virtual URL to the video element's src property.
Create a SourceBuffer using addSourceBuffer, with the mime type of the video you're adding.
Get the video initialization segment from the media file online and add it to the SourceBuffer with appendBuffer.
Get the segments of video data from the media file, append them to the SourceBuffer with appendBuffer.
Call the play method on the video element.
Repeat step 7 until done.
Clean up.
According to this Edge platform issue, Microsoft only claims limited WebM + VP9 support, and this is unlikely to change without significant push from the community via the Windows 10 Feedback Hub and/or Microsoft Edge UserVoice.
Chrome and Firefox support WebM + VP9 without MSE, which is why it works in those browsers.

How to get a (high quality) FLV version of your youtube video?

I need to get a link of a FLV verion of a youtube video so I can play it in mobile, using Adobe Air (VideoTexture).
I'm currently using this library: https://github.com/myflashlab/AS3-youtube-parser-video-link
Which works, the only problem is that the only FLV version of the video I get has a 426x240 resolution, which is not acceptable. MP4 does have a 720p version but it's not displaying on iOS.
If anyone knows how to ask for/obtain the correct link to a FLV youtube video, would be great.

How can I play Apple HLS live stream using html5 video tag

<video id="live" autoplay controls>
<source src="http://[WOWZA-IP]:1935/Live/mp4:[LIVESTREAMNAME]/playlist.m3u8" type="video/mp4" />
</video>
I am trying to play h264 encoded live stream using html5 video tag. Live stream is broadcasted by wowza media server and when visiting src link I get a valid playlist file. When trying to play the stream on android chrome browser, player does nothing and shows black screen.
Is this html5 video tag related issue or maybe broadcaster?
These are the formats you can play using html5 source tags.
Think of a video format as a zip file which contains the encoded video stream and audio stream. The three formats you should care about for the web are (webm, mp4 and ogv):
.mp4 = H.264 + AAC
.ogg/.ogv = Theora + Vorbis
.webm = VP8 + Vorbis
There is actually a good range of solutions for this. One solution would be to detect if HLS can be played:
document.createElement('video').canPlayType('application/vnd.apple.mpegURL') !== ''
However, this would not allow you to play HLS content on devices which do not support playback. At this moment, playback is only supported on Microsoft Edge, iOS Safari, OS X Safari and Android (however, I strongly advise against using HLS on Android due to limitations)
An other solution to play HLS across all platforms in HTML5 is to use an HTML5 HLS player such as THEOplayer. They managed to allow HLS to be played on all popular platforms and devices, including those without Media Source Extension support. Currently, the list of supported browsers and platforms includes: Internet Explorer, Edge, Firefox, Chrome, Opera and Safari on Windows, Linux, Mac OS X, Android, iOS and Windows Phone.
On Browsers supporting Media Source Extension you can use https://github.com/dailymotion/hls.js
For workarounds using flash, you can use FlasHLS chromeless player.
Try FlowPlayer. It provides a full HLS support with the least effort in server side!

Does FlashPlayer 10 support MP4 and AAC audio codecs in addition to MP3?

I am developing an Audio Player application in Adobe AIR with Flex SDK 3.2. I wanted to know if i can play songs in other audio formats?
I think Flash Player can play AAC but not AAC+. All the radio stations are using AAC+ because it is updated than AAC. Let me know if I am correct
Although Adobe's site says, Flash Player 9 Update 3 onwards supports AAC and MP4 also, i am not able to play them when i tested. So i think its safe to say that, Flash Player will only support MP3 and WAV files to play sounds.

Read red5 live stream with HTML5

How can I read a Red5 (RTMFP) stream using HTML5?
Red5 supports different kinds of streaming*, so I don't know which kind of streaming you mean:
Streaming Video (FLV, F4V, MP4)
Streaming Audio (MP3, F4A, M4A)
Recording Client Streams (FLV only)
*source: Red5 on Google Code.
You probably want to use the HTML5 Video Tag and/or the HTML5 Audio Tag to 'play' the stream. Therefor you will need to do some conversion.
Audio streaming
New technique, lot's of browsers and no universal codec support yet.
See browsers + codec's it supports*:
FireFox 3.6+
Ogg Vorbis
Wav
Safari 5+
MP3
WAV
Chrome 6
Ogg Vorbis
MP3
Opera 10.5+
Ogg Vorbis
WAV
Internet Explorer 9 (beta)
MP3
WAV
*source: Native Audio in the browser.
Video streaming
Currently there's a discussion going on about the HTML5 Video Codec, between Ogg Theora and H.264. So make a conversion to one of those formats. I would recommend H.264 because it looks like Red5 will implement H.264 support in the future.
As with audio as with video.. New technique, lot's of browsers and no universal codec support yet. See for list: HTML5 Video on Wikipedia.
After conversion
The easiest way to check for support of the video and audio tags is to dynamically create one or both with scripting and check for the existence of a function:
var hasVideo = !!(document.createElement('video').canPlayType);
This simple code line will dynamically create a video element and check for the existence of the canPlayType() function. By using the !! operator, the result is converted to a Boolean value, which indicates whether or not a video object could be created.
Alternatively
You can serve 2 streams with a Flash Fallback:
<video src="video.ogg">
<object data="videoplayer.swf" type="application/x-shockwave-flash">
<param name="movie" value="video.swf"/>
</object>
</video>
The video tag is used by default, if not supported the browser will use the flashplayer.
Edit:
I now see that Red5 supports H.264 (Live Stream Publishing). Read here how to use the HTML5 video tag with the H.264 codec
You also might wanna have a look at: Adobe's Video Player Widget.
A short answer: you can't. The browsers will not support streams over RTMP (RTMFP), RTP or UDP. Your stream must be sent over HTTP to be accessible (in fact you have to emulate a static file on the server).
Also WebM deserves a few words. In May 2010 Google announced a royalty-free codec for HTML5 viceo purposes. As of now, the latest versions of alternative browsers (Mozilla, Opera, Chrome) has the ability to play it. Only the big ones who have invested good bucks to H.264 resist.
Now days a couple of media servers support WebM. I guess the first was Flumotion to implement it. I also have my own GPL software for live-streaming WebM called stream.m. It is a very early release but if you want to give it a try I'm not stopping anyone. :)
RTMFP and HTML5(WebRTC or Websocket) protocols are supported in WCS4
So you can publish RTMFP stream to the server and play this stream using Chrome(WebRTC), Firefox(WebRTC) or iOS Safari browser(Websocket).
Red5 does not support RTMFP.
RTMFP is a peer-to-peer designed protocol, however server can be used like RTMFP peer, therefore it would be simple client-server connection Flash-Server like RTMP.