Android RTSP streaming failing - android

I 've Set up wowza streaming server in my ubuntu box for RTSP streaming video files. The video gets stream perfectly when I 've Totem video player at client side. The same url or video is failing to work on android device and the application that tries to access that rtsp url breaks with Mediaplayer error (1,-1).

I recently also set up a Wowza streaming server, and had three things trip me up before I could get it to work. One or more of these may help you out.
Wowza Settings:
1) In the Vhost.xml file, make sure that <port>1935</port> is changed to <port> 1935,554 </port> (You may have to use ROOT to start the Wowza server after this. 554 is a reserved port for RTSP streaming).
2) In the Application.xml file make sure PlayMethod is set like this: <PlayMethod>none</PlayMethod>
In your Android Code:
3) In your Android code, the URL needs to follow the format rtsp://serverip/live/myStream.sdp
so NO port number in the URL. This is the one that tripped me up the longest.
After this, I was able to play my video by passing the url right to the MediaPlayer.

Related

Embeddable Shoutcast mp3 player for Android

I have already tried jplayer but unfortunately there are problems with Shoutcast mp3 streaming and Android.
Is there an alternative? I wouldnt mind even "serving" the stream directly in some way and cause the Android device to open its default media player if that is posible. - I just want to make sure that an Android device will play my stream.
Unfortunately, you can't open an MP3 stream from SHOUTcast on Android directly. This is because of the way SHOUTcast has broken HTTP. Instead of a normal status line:
HTTP/1.0 200 OK
SHOUTcast sends this:
ICY 200 OK
Android's HTTP client doesn't like this. The good news is that with a different server, you can link directly to the MP3 stream, and it will open up on Android. Instead of linking to the playlist file like you would do for iOS, link to the stream. Android will detect the content type audio/mpeg, and open whatever player is configured for that content type.
Icecast is compatible with this method. Alternatively, I offer a hosting service that can relay your SHOUTcast streams for Android. E-mail me at brad#audiopump.co if you are interested.

Capture IP Camera Stream and Publish on my Website

I am using IP Cam (an app for android phones) to stream live video. It basically functions as a basic IP camera. It gives me a URL where the feed is. It looks like this http://192.168.2.32:8080/ when I'm connected to my WiFi network. The video stream is at http://192.168.2.32:8080/videofeed.
I want to capture the video feed of the camera which is at http://192.168.2.32:8080/videofeed and embed it in an HTML5 player (the one I plan to use is Video JS) or a Flash player if the HTML5 doesn't work (prefer HTML5 though). The HTML5 player is asking me for a source file (such as .mp4, webm, mov, etc) but at http://192.168.2.32:8080/videofeed there is no source file. It's just HTML stream.
My question is how to I embed that video stream into my HTML5 player and post it on my website.
From what I could see, the streaming is already made by the app to a webpage and this page has the video for you to see. So you want to stream something that's already streaming.
You could try to signup for a dynamic dns like www.no-ip.com to get a url for your network, change your router to accept incoming connection on port 8080 and then use an iframe on your website with the dynamic dns url.
I used to stream a lot of live concerts to websites, but I had a camera connected to a computer and using Adobe Flash Media Streaming (free) connected to a server running Wowza streaming.
You need to get the data that camera is capturing decode it to some common format.
RGB or YUV2 or whatever. Encode it to Vp8/webm or thora/ogg . h264/Mp4 wont do it as it needs a special header in the mp4 file called mdat(unless it is fragmented mp4).
Client video tag makes the request to your phones ip/where you handling the http GET for that app hold that http connection and start streaming to it. This is sort of like long polling.
Most IP cameras have a way to get the raw stream of video. Using RTSP or RTMP
I suggest you get the steeam URI for the «camera», which would be something like rtsp://<camera-ip>:<some-port> or rtmp://<camera-ip>:<some-port>. That is a common feature of IP cameras, even those emulated on a phone, so probably it is mentioned on the docs or can be enable/set on the app configuration.
If there is no documentation, you can do some research by using Chrome to access the feed on the webpage and open the developer tools to see the actual code for the page, the URI may be visible on the embedded player they provide.
Once you get it, open that stream with VLC and see the properties (encoding, framerate, size, etc) and with that you can choose a compatible embedded player for your site.
Hope it helps!
///Pablo

Live-streaming on Android with HTML5 or an Application

I want to create a live-stream by using vlc on rtp, (preferably) rtsp or http protocols and I want to play this stream with android 2.3.4 based cell phone. I have tried starting from scratch and tried to advance step by step. I have created an html5 based offline streaming page, and it worked. However, I have some trouble with live streaming issues. I have noticed that live-streaming with html5 will be painful. So, I wanted to get the stream directly from vlc.exe to the media player on the phone. However, I couldn't decide what to do because vlc for android is in development right now, and couldn't find a suitable player which allows me to enter the address of the vlc server.
What should I do? Should I continue trying on html5, or should I try to find a suitable application for rtsp streaming on android? Should I try Wowza or another service? (BTW, I don't want to mess with socket stuff on the server side.)
I have solved this problem by streaming the content from vlc on rtsp from the PC and created a very basic html page which gives only a link to the rtsp stream. Then, I clicked the link from that html page using the phone (actually I can carry out this step by simply writing the ip address of the server to the streaming player on the phone also) and it forwarded me to choose an external media player to play the content. In this step, choosing any streaming media player (RealPlayer, MX Player etc.) can be used to play this content. There we go! We have a live-streaming from PC to Android :)

Windows Media Services streaming (using RSTP or HTTP) to Android

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. :-)

Video streaming using RTSP: Android

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.

Categories

Resources