Is it possible to stream video to an Android device by using Windows Media Services? Which protocol should I use between RTSP and HTTP? Actually, I have a video file (MP4 format) at a server and I want to stream video files to an Andriod device.
Currently Android does not support adaptive streaming. I searched for some methods a while ago, but Android does not support any of them. No streaming via Windows Media Server, no support for Flash Media Server and HTTP Live Streaming also does not work. The last one would be the best solution since it does not depend on proprietary protocols - but unfortunately it uses a different container format MPEG-TS and a playlist file M3U8 which Android does not understand at the moment. There is an issue for this - you might want to stare it. ;-)
That said, I would recommend you to just upload the MP4 file to an HTTP server and play it via the HTTP url. If it doesn't play, you have to add some extra streaming information by hinting it - e.g. with MP4Box:
mp4box -hint <filename>
Have fun. :-)
Related
In my project I need to implement an HLS (HTTP live Streaming) for an android device and it stream to an iOS device to play where android device will record the video and send it to server and iOS device will play the stream from the server using an m3u8 file. In the link below
Click Here
They have mention "Currently, the supported delivery format is MPEG-2 Transport Streams for audio-video".
Now problem is that in android you can record only in mp4 by default (correct me if i am wrong). Now I need some third party API or library like ffmpeg, Gstreamer, Xuggler, Jcodec to transcode recorded mp4 to ts files.
ffmpeg, jffmpeg and Gstreamer have a learning curve and to setup time and also need NDK. So I need some help because I don't have enough time to try one of these please refer me if you know any library which is easy to use and does not have a complex learning and setup time. Like Jcodec which is pure java base and plug and play type library but I don't think it can do this for me as they have mention in there documentation they support h262 codec support yet but i need h264 and ACC for audio.
FYI:
JJPMEG
It is a Java binding to FFmpeg and it have an android verison too. Maybe you can give it a try.
https://code.google.com/p/jjmpeg/
Or:
Maybe you can just record the video with supporting encoding and transcode the video in the server side?
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.
I'm trying to play video file on a remote server. Video format is flv and server is Flash Media Server3.5.
I'm going to connect to server over RTMP and to implement the palyback of video file using Android Media Player.
Really,is it possible? Any help is my pleasure.
http://www.aftek.com/afteklab/aftek-RTMP-library.shtml
I found this one, but haven't had much luck, there are very few docs and after jigging it to try and support Video (no examples as i can see) i found that the core method RtmpStreamFactory.getRtmpStream(); failed.
This one has also cropped up, but i haven't looked at this yet.
http://code.google.com/p/android-rtmp-client/
It looks like that for me i'll be looking at getting the media server to deliver rtsp instead and this is supported by android. You may also find that later versions of Android i.e. 3> support rtmp.
I'm trying to install a Wowza server on my Linux machine to enable the RTSP streaming for my Android application.
On Android client side what sort of changes do I need to make in my application? I'm using Videoview to simply play a video file stored locally.
Now I want to get the video content get streamed through the server that I've installed. If necessary I can move to any other streaming server as right now I'm doing a research on streaming servers.
For rtsp streaming you can also try following servers:
Darwin Streaming Server - linux package is available
Windows Media Services - can be installed on Windows Server Trial
VLC - standalone application
For testing purposes of your application i would also recommend you to use existing mobile video services like:
m.youtube.tv
m.wp.tv
You can extract video links from those sites and use them to test your application.
Try to follow Android ApiDemos, you can find video streaming player example at:
...android-sdk-windows\platforms\android-x\samples\ApiDemos\src\com\example\android\apis\media\MediaPlayerDemo_Video.java
VLC+Android Owns.
I used the following one-liner to stream video of our kittens to our cell phones.
We used the launchRTSP free app to leverage the built-in RTSP viewing capabilities of Android, to access the URL over the internet.
You may want to tweak the frame rate and such. As shown below, it's perfect for webcam streaming.
vlc -vvvvvvvvvvvvvvvvvvvvvvv -I dummy v4l2://:vdev=/dev/video:width=640:height=480:fps=2 --sout "#transcode{vcodec=mp4v,fps=5,vb=800,acodec=mpga,samplerate=8000,ab=64,deinterlace,channels=1,sfilter='mosaic:marq{marquee=%m-%d-%Y_%H:%M:%S,size=16,color=16711680,position=5,opacity=64}'}:rtp{sdp=rtsp://0.0.0.0:5858/kittens.sdp}"
WCS4 server can deliver WebRTC stream as RTSP.
So you can send WebRTC live stream from Android or desktop Chrome/FF browser and then connnect to this stream via VLC or Android by RTSP.
Using the Android SDK, is it possible to play a video stream using the MMS protocol
I am streaming video from a PC using windows media.
I can use Windows Media Player to play the stream by just inputting the following URL in Windows Media Player
mms://192.168.223.194:8081
Is it possible to play the same stream using the Android SDK ?
Thanks
Either you are using old technology, or there are more efficient alternatives.
MMS as a protocol has been deprecated for seven years. Android supports HTTP and RTSP streaming, and since Microsoft headed in that direction as well, it is unlikely that Android will ever support MMS-the-protocol.
Windows Media Player uses MMS URLs (mms://) to represent a whole family of possible protocols, including RTSP, MMS, and HTTP. Android appears to treat mms:// as the equivalent of http:// and may not attempt to connect via RTSP. The best answer is for you to figure out the correct URL for the desired protocol (e.g., http:// or rtsp://). You could, if you wish, create some Android utility library that probes a server identified via an mms:// URL, determines what the real protocol is, and then returns a properly-formatted URL for the desired protocol.