Live streaming to Android issues

My disclaimer is that I’m very new to Wowza. If the solution is staring me in the face, please forgive me.

I have a live stream running but my Moto Droid (Froyo) does not see the RTSP stream. It didn’t work with 2.1 either. VLC plays the stream, though not well at times.

I’m running Wirecast pushing out both a RTMP stream as well as an RTSP stream. Neither work for the Android. VLC plays the RTSP and iPhone plays the other just fine. The only issue is my Droid.

I’ve opened all the ports on the firewall that I could find listed in the docs and on the forums. At one point, I could get the audio for the stream but not the video. I added the following code to my Applications.xml file, and now nothing on the Android side works. I get a “video cannot be played” error.

forceMPEGTSOut

true

Boolean

rtpWrapMPEGTS

true

Boolean

The link to the stream is: rtsp://jtvmedia1.acntv.com/live/mystream.sdp

Thanks!

Maybe there is something about the Wirecast encode (beyond what you can do with settings) that is prohibiting it from working on Wirecast. I might either contact the Wirecast folks or try a different encoders. Our mobile test stream is encoded using ffmpeg which uses the x264 encoder built into VLC.

Charlie

I am suggesting that you try VLC for live encodign since it uses the same x264 encoder that I used for my VOD sample.

Charlie

I ran a quick test. I too have been having problems with Wirecast and playback on the Android 2.2. I can only get audio no video. I played around a bit and now it is working for me. If I change the H.264 encode from Baseline to Main in the Wirecast settings. Now it all works for me. With Baseline profile it does not. I am not sure.

There is a Wirecast update on the way (Wirecast 4.0). I believe many of these tweaky encoding type issues should be gone. I have been working with the Wirecast team to be sure this kind of stuff is all working correctly. It is a great product.

BTW, I do not believe the Blackberry 8330 support h.264 streaming. I know my Blackberry Curve 8900 does.

Charlie

I took out the code I mentioned in the above post. I am back to hearing the audio for the stream but not seeing any video.

Does our sample stream play on the Droid:

https://www.wowza.com/mobile.html

I know it does on my Motorola Droid running 2.2. If it does, then it could be an encoding issue.

Charlie

You try try sorting the packets. See this post (#1 and #3):

http://community.wowza.com/t/-/57

Also, try lowering the bitrate of the video. If to high, it could affect the audio decoding.

Charlie

Chris,

See if the mobile streaming trouble shooting guide helps:

http://community.wowza.com/t/-/99

Richard

This thread might have useful clues.

Many RTSP/RTP implementations of mobile devices only support RTSP/RTP over RTP. I believe Android is such a device. Not all carriers will allow UDP traffic on their networks. Also, there can be NAT traversal issues with UDP when streaming using WiFi. I would focus on UDP routing and NAT traversal as the issue that leads to RTSP/RTP failure. It does work. I have an Motorola Droid and it is able to stream RTSP/RTP. If the network is not setup properly or UDP is blocked, it will not work.

Charlie

Richard

They are different devices from different manufacturers, and most likely involving different carriers and networks.

Richard

If the application StreamType is “live”, with VLC to RTSP device you have to start the stream in StreamManager.

http://community.wowza.com/t/-/82

If the StreamType is “rtp-live”, you probably don’t need to start in StreamManager

Richard

The ffmpeg commands are posted here:

http://community.wowza.com/t/-/516#10

And the VLC guide is here:

https://www.wowza.com/docs/how-to-use-vlc-as-a-live-stream-encoder-with-wowza-media-server-mpeg-ts

Richard

Background: I am having a similar problem with the Motorola Droid and a Blackberry 8330. I can get everything working OK streaming to a Darwin server with Wirecast (video and audio on both Droid and Blackberry) but when streaming with the same Wirecast settings to Wowza I have audio on the Droid but no video. The Blackberry displays a black screen and also does not have audio. Darwin and Wowza are on separate machines and networks. Since I can stream successfully to these phones with Wirecast through Darwin I don’t understand how the problem could be Wirecast encoding.

The Droid plays the Wowza sample mobile file at rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

The Blackberry does not play the mobile file. I’m not sure the Blackberry 8330 supports .mov.

See:

Blackberry Supported Media

http://docs.blackberry.com/en/smartphone_users/deliverables/18349/711-01774-123_Supported_Media_Types_on_BlackBerry_Smartphones.pdf

Testing:

I’m using Wowsa on EC2 with the liverepeater-origin startup package.

I want to use RTSP to stream to Quicktime Players and mobile phones. I plan to use both origin and edge servers but have started with the origin first to make sure streaming is working from there.

I can stream to Quicktime players on PCs and Macs but have not been successful streaming to a Blackberry Curve 8330 and a Motorola Droid (with Android 2.2) through Wowza. I am using Wirecast to push the stream using the settings recommended at https://www.wowza.com/resources/tutorial_ffd.pdf, but with a datarate of 200 KBPS and mono audio…

I am streaming both to Wowza and, for comparison, to Darwin (with HTTP tunneling enabled), using identical settings in Wirecast. Both phones receive the Darwin stream OK. Both phones act like they are loading and playing the stream from Wowza but the phone screen just goes black – no video is displayed (the Droid plays the audio but the Blackberry does not).

I have opened all recommended ports and modified the VHost file to include port 554

I have modified the liverepeater/Application.xml file to include:

”EC2 Private IP Address”

”EC2 Elastic IP”

”EC2 Elastic IP”

I modified the Application.xml file after startup – it was not modified as part of the startup package as was done for the modified VHost file. Am I correct in using the EC2 Private IP and the Elastic IP? Can these be changed after the server has started up?

I can push the stream from Wirecast to Wowza using port 554, e.g.

rtsp://”elasticIP":554/liverepeater/test.sdp

no port, e.g.

rtsp://”elasticIP”/liverepeater/test.sdp

or port 1935, e.g.

rtsp://”elasticIP":1935/liverepeater/test.sdp

I cannot access the streaming file using Quicktime player unless I use one of the ports in the URL. E.G. I can’t access the file using rtsp://“elasticIP”/liverepeater/test.sdp. Even when I use that URL to push the stream to the server.

I used rtsp://“elasticIP”:1935/liverepeater/test.sdp for the mobile testing both in pushing the stream to Wowza and in accessing it with the player.

What else should I try/change?

Charlie,

I get audio and video now on the Droid with Android 2.2, using the main profile in Wirecast.

I’m still mystified with the Blackberry Curve 8330. You’re correct, in that the Blackberry docs don’t show support for H.264 with the 8330. For some reason it works for me when I stream using Wirecast and Darwin.

Thanks for your help. Your rapid and professional responses are a definite value add to Wowza.

Ken

Hi Charlie,

Can you please show you ffmpeg encoding string for your VOD sample.

And maybe you can suggest what parameters do we need to use with VLC as an encoder for the source stream.

Thank you in advance!

Chris,

See if the mobile streaming trouble shooting guide helps:

http://community.wowza.com/t/-/99

Richard

Thanks for the reply, Richard. I have checked out that thread and many many others. What makes this particular problem strange is that I can play the stream (video and audio) with VLC. As it turns out, it even worked on Blackberry.

When I connect to the stream on my Droid, I only hear the audio.

What I don’t understand is why I get audio and not video on the Droid, but I get video on Blackberry and VLC.

They are different devices from different manufacturers, and most likely involving different carriers and networks.

Richard

Different devices, for certain, but both are on Verizon. I can play rtsp links from other providers on my Droid. If rtsp was blocked, I would think that I would not be able to play their content nor would I get the just the audio from my stream.

Does our sample stream play on the Droid:

https://www.wowza.com/mobile.html

I know it does on my Motorola Droid running 2.2. If it does, then it could be an encoding issue.

Charlie

Yes, that plays just fine on my Droid. That example, plus others that work, tell me the port and carrier limitations are not an issue here. As I said, I can hear the audio in my stream, I just can’t see the video.

Using Wirecast, I’m sending out an h.264 encoded video. I’m using one of the default Flash profiles but have lowered the bitrate to ~200kbps and 15fps. It works everywhere but on the Droid. Any pointers would be greatly appreciated, Charlie!

Thank you!

Chris

Maybe there is something about the Wirecast encode (beyond what you can do with settings) that is prohibiting it from working on Wirecast. I might either contact the Wirecast folks or try a different encoders. Our mobile test stream is encoded using ffmpeg which uses the x264 encoder built into VLC.

Charlie

Thanks for the reply, Charlie. Your mobile test stream is VOD, though. What I’m doing is live. I tried VOD and that works fine. I can try Flash Media Encoder, but I had worse luck with that the last time I tried.