How to play .avi and .mov video formats in html ?
We are developing the website, where the videos can be uploaded, using html5, videos uploaded are of .ogg, .mp4, .webm. We have native android and ios applicaitons, where the videos can be uploaded of .mov and .avi formats.
Our application should be able to play the videos of .mov and .avi formats.
Request you to please let us know on how to display .mov, .avi formats without any conversion in server side.
.avi files can contain video encoded using any codec but in practice they contain video encoded using the old xvid/divx codecs.
HTML5 supports the x264 and vp8/vp9 codecs.
Flash supports the x264 and the old sorenson codecs.
xvid/divx cannot easily be converted to any of these codecs withouth transocing the hole stream. So there is not quick and easy client-side solution.
As a server side solution for converting .avi to .mp4, avconv and ffmpeg are very popular, widely sued and free. And of course there is a multitude of commercial solutions, too.
Related
We are working with a development company to create a program that records videos and then uploads them to a server. Then, on our website, users should be able to view the videos.
Here's the issue. As far as I understand it, .MP4 is the only video file format that can be played in any browser. However, the other development company claims that they will deliver the videos as .MKV video files and then all we have to do on our website is re-wrap the videos or something so they will be playable. I do not understand how that works, and they were being very condescending when I asked for clarification.
The videos have to be able to be played in any browser, and I would rather not have to use any special plugins to convert the videos before playing them.
Please help me understand what they expect me to do.
MP4 and MKV are file formats or wrappers that hold multiple media streams (typically audio and video). The wrapper (MP4 or MKV) tells you very little about the actual audio or video format.
Common combinations are MP4 with AVC video and AAC audio or MKV with VP9 video and Vorbis audio. But you could also do MKV with AVC and AAC.
Rewrapping MKV (AVC/AAC) into MP4 (AVC/AAC) is pretty straight forward and does not require a transcode.
I'd guess that MP4 with AVC video and AAC audio is likely the best cross platform combination at this time.
But delivering video over the internet to a browser with varying available bandwidth - can be tricky and may required multiple different quality levels of the same content.
On my website I used embedded vlc to play some audio files but now this not supported by firefox or chrome. I can not use html5 because of some codecs. The files were generated with Android AMR codecs.
What should I use?
I would probably have to convert but I couldn't configure sox with AMR
we want to play .swf files in html5 video tag.we know that it only supports certain formats but we don't want to convert our files.Is there any way to achieve this?
I think video tag only supports webM, mp4 and ogg files, so you might have to export the swf file to any of these formats. I think you might be able to do it in Flash or some other video converters (not sure).
I have some files in format .avi and .wmv, but is imposible play on HTML5 for the codecs, How to play those files on any WebPage on all OS?
You can't according to W3 Schools there are only 3 supported video formats: MP4, WebM, and Ogg. You could convert your video files.
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.