I've seen that some websites that offer video playing services have made their videos work on Android phones, while others dont. Those that work are being opened using the phone's Video Player or other apps such as MX Player.
How can I do this on my website? I know that there is the HTML5 alternative but for some reason I can't implement that.
Thanks!
There are a few options to stream videos to mobile browsers:
HLS (HTTP Live Streaming) for Apple devices
H.264 encoding
Streaming server e.g. Wowza
WebM streaming to Androids and other devices
Browser support in Chrome, Firefox, Opera, Android browser
VP8 encoding
Streaming server e.g. stream-m
MotionJPEG
Works for non-audio videos
Works on almost all devices
Choppy playback, as there is no inter-frame compression
Flash Player
Only few mobile devices, market share steadily vanishes
Supports streaming or progressive download
Streaming server e.g. Wowza or Red5
If your video must not necessarily play back in the browser, you can also just provide a download link to your video. Please note that you won't profit from streaming features like seeking and saving bandwidth for unplayed parts of the video then. In any case, you need to encode your video in different bitrates/codecs to be able to target all devices.
Related
I have installed red5 server on ubuntu 12.04 lts at AWS instance. I have successfully streamed my live stream using with Adope live encoder and play it with jwplayer on websites. Now I need to play my live stream on all smart devices. I have referred so many forums but I did not get the good solution for this. I have some restriction to play on mobile.
do not play with Flash browser at all smart-device. need to play it's own player when they connected to my website.
Is there any possible to play my live streaming with html5 video Tag
How can I achieve this setup? I know the red5 server only stream RTMP protocol. I want to re-stream to android, iphone, blackberry, Nokia, and also all smart devices and tab.
In practice you need to send the screams in three types:
HLS for IOS/Windows/BB devices
RTMP/RTMPT/RTMPS for browser based Flash clients (or AIR based native apps)
RTSP for Android/BB devices (as HLS should but rarely does work on Android devices)
Additionally there are some vendor specific technologies like Microsoft Smooth Streaming or webM by Google
You can use a streaming CDN like ScaleEngine.com to transcode and supply the necessary bandwidth to have streaming for all devices (RTMP for browsers, HLS for iOS devices and RTSP for Android). If you are inexperienced and you won't have terabytes of traffic, this might fit the bill.
If you are interested in a self hosted solution, a combination of:
Red5/Wowza/nginx-rtmp for recording management
FFmpeg for transcoding
nginx-rtmp for HLS
crtmp-server for RTPS
might do the trick.
There is no all in one solution. The ONLY way to stream live video in iOS is HLS. Some versions of Android may support HLS. I have not idea what formats blackberry and Nokia support. You will need to research this.
If you create your mobile app with Adobe AIR (with either Adobe Flash or Apache Flex), then your mobile app will support live audio/video streaming - on iOS, Android and BlackBerry 10 platforms.
Distribution to mobiles can be done with Wowza rtmp server packetisers for iOS HLS and RTP playback.
But you need to stream in supported formats/codecs.
If you stream with a web based flash broadcasting tool, stream will not be compatible with iOS because Flash does not encode AAC, so you need to transcode it.
Transcoding can be done with Wowza Transcoder addon or ffmpeg as available with VideoWhisper Live Streaming that can produce a HTML5 video for Safari playback (on iOS / desktop).
In my website there are flv videos playing with jwplayer. Now I have to port the site on mobile and iOS doesn't play flash video..
Main Features I have to follow:
Play on Desktop, Andorid and iOS.
Stream only parts of (big) videos.
Seek functionality.
Can not have 2 same video in different formats.
I'm thinking about Wowza Media Server. Has anyone tried that?
Other solutions may be red5 or Mistserver: Any Opinions and suggestions?
Thanks in advance!
Wowza is my favourite streaming server, however it does not support streaming FLV via HLS (best streaming protocol for iOS). So I guess you'll need some ffmpeg transcoding script setup to transcode all your flv files to mp4 files. Wowza will handle the rest of requested features like multi-protocol multi-device streaming, seeking, playing parts of video, and much more.
I have a web-view in an application and i use html5 tag.
I have had all kinds of issues on different android devices(samsung, sony, etc) with different android versions. Some could not play .mp4 and only played .m4v extensions. Another old tablet could only play mp4.
On an Xperia I had a special case. The webview couldn't play the video in html and played it in another custom video view(although this didn't bother me at all).
I need the videos to autoplay as soon as i open the webview(and have managed to do it on those few videos that work), and i have end-video event handlers that have to fire at the right time.
If anyone knows what video format + video and audio codification to use in order to have compatibility with all webviews on android please
Android webview and HTML5 player that works with the video codecs that Android supports (.mp4 is best for progressive video as it has by far the widest support), and it also supports .flv with flash plugin.
Flowplayer can play rtmp and http live stream but can i use the same player to play rtsp stream. I have rtsp stream for android which can be played using external player but it opens in fullscreen mode. I thought of putting it inside a frame but the external player opens outside of the frame in android device. So i want to use flowplayer to play rtsp stream in android. Is it possible and if not what to use.
I am fairly certain that Flowplayer, while a great solution for many things, cannot be extended to accept a straight RTSP stream. In any case, I don't believe there is a supported mobile version or plugin of Flowplayer for Android at this point. I have even seen reports that embedded flowplayers being viewed on Android have been sketchy at best.
I have, however, used ffserver and ffmpeg (http://ffmpeg.org/) to transcode the RTSP stream into .flv to be played with Flowplayer, but if a transcoded stream could be broadcast on your system, you'd be well on your way!
Mason
I want to know is it mandatory to use any of the streaming servers like Darwin,Wowza or VLC to stream an RTSP live stream video? I am receiving an RTSP link from my client and it tends to change everytime. I can successfully play it in the VLC player but on phone I cant see anything. I tried playing a sample link having .3gp extension and it worked fine. But my links dont have an extension. They look like this rtsp://122.166.229.151:1950/1346a0cf0ef7c2. Please help me.If its compulsory to use an extension or a server, I will continue working in that direction.
A streaming server (as you describe) isn't strictly necessary - as long as you can pull RTSP from whatever your source is, you should be able to see it. Most IP cameras have onboard RTSP servers (although I wouldn't put too many connections on it). If you can see it in VLC, the phone should be able to consume it as well, given that the codec used to encode is one supported by the android device (in most cases, if you're doing H.264 Baseline 3.0 with AAC, you should be good to go).
A streaming server like Wowza can make that stream available to a wider audience than pulling directly from the source device, but if you're not intending to broadcast to a wide audience, it's not required for streaming to Android devices.
Newer versions of Android (Gingerbread and later) are also able to consume Apple HTTP Live Streaming.