Hello! I’ve signed up with a web/media hosting company that uses Wowza. They have sent me instructions on how to stream video to them from Adobe Flash Live Media Encoder (in Windows). I’m capturing audio/video from a Linux box, though, and therefore can’t use that.
(Charlie, I saw a message suggesting that people consider other solutions besides VLC… but I’m not really sure if there are any for Linux clients. Do you know of any?)
With that assumption, I’d like to try to get VLC working if I can. Now, the hosting company’s instructions for Adobe Flash Live Media Encoder tell me to fire it up and put the following into the “Flash Media Server URL”:
rtmp://www.example.com/live/_definst_/doPublish=12345
where “www.example.com” is my hostname and 12345 is apparently my password encoded into the rtmp:// URL. I tried it out, and it seems to work. They also suggest that other media encoders might also work with a URL such as:
rtmp://www.example.com/live?doPublish=12345
So now I’m trying to figure out how to translate that information into something that will work for VLC. The VLC sticky had several example URLs, all of which seem to end with some variation of
rtp{dst=127.0.0.1,sdp=file://%WMSCONFIG_HOME%/content/vlc.sdp}
but that doesn’t seem to help me. I suppose I can replace 127.0.0.0 with www.example.com , but what (if anything) do I need for the sdp part? And how to I specify in the VLC command line all the other parts of the URL that works with the Adobe encoder?
Thanks to anyone who can help me get started with this.
It’s step 5 and 6 in the VLC post: build a command, which you run from command line in step 7.
Richard
Yeah, that was my guess too, but that doesn’t seem to be enough. For one thing, the “sdp” information won’t be correct (I don’t even know if I even need it), and for another there’s nothing in that long VLC string that passes in the rest of the information contained in the Abode encoder URL:
rtmp://www.example.com/live/definst/doPublish=12345
(like the doPublish URL, the 12345 password, etc.)
I think you just replace the loop IP (127.0.0.1) with the IP of your Wowza server.
Richard
What version of VLC are you using? Did you see this note on the VLC sticky post?:
Note: My understanding is that the most recent version of VLC breaks H.264 encoding. So it is best to use an older version prior to the 0.9 builds. You can obtain prior builds here: http://download.videolan.org/pub/videolan/vlc/. I have had success with: 0.8.6i.
Richard
One thing, you are looking for an equivalent of something that doesn’t exist. FMLE publishes (pushes) a stream to Wowza. This is a pull model, mediated by the sdp file. VLC publishes the sdp file.
I just got it working here with the recommended version of VLC on Windows XP with Wowza local. I had to delete a vlc.sdp file that was there from previous experiment for it to work, so VLC doesn’t overwrite that file. Do you see that file:
[wowza-install-dir]/content/vlc.sdp
Richard
Does your streaming provider allow for MPEG-TS streaming? That may make VLC a little easier. (VLC is still a pain, I still can’t get it to play audio from a VLC encoder thru Wowza out to a flash client).
The upside to doing MPEG-TS into Wowza is you don’t need to worry about stuff like the SDP file. You just rtsp:// to the wowza box from VLC and it should work. (but like I said, i’ve been having issues getting audio when using VLC to transcode mpeg2 to h.264, but I think that’s a timestamping issue in vlc or something like that).
–chris
Richard, thank you for the reply, but let me use this as an example VLC command:
vlc -vvv v4l:// :v4l-vdev="/dev/video" :v4l-adev="/dev/dsp" :v4l-norm=3 :v4l-frequency=-1
:sout="#transcode{venc=x264{keyint=60},vcodec=x264,vb=500,scale=1,
acodec=mp4a,ab=32,channels=2,samplerate=22050}}"
The VLC Sticky page step 5 deals with finding the code for the video capture device. In my case, step 5 gave me the “v4l” code you see above.
However, the problem I’m having is with the streaming part of VLC - how to get that captured data streaming via RTMP to my hosting company’s Wowza server. Step 6 in the VLC sticky appends this code to the command line being built:
:rtp{dst=127.0.0.1,sdp=file://%WMSCONFIG_HOME%/content/vlc.sdp}
but that code didn’t come from Step 5. It appears that the user is just supposed to know what string needs to be appended at that point… and that’s where I’m getting stuck.
It’s 0.8.6e , the version that comes with Ubuntu Hardy Heron
Richard, thanks for the reply. I don’t have access to any of the internal setup of Wowza, since it’s on the hosting company’s servers, so I can’t peek into the install directory.
But if I understand you correctly, what you’re telling me is that Adobe’s FMLE is pushing the stream to Wowza, while VLC is not? I guess that may indeed answer the question - perhaps VLC just can’t be used to stream data in the way that I hoped it could.
In fact it seems the more I look at it, the more certain I am that VLC doesn’t support RTMP at all. Adobe just released the spec for that protocol last month - maybe it’ll make it into VNC one day.
I’ll open up one more thread on a slightly different approach, so as not to clutter up this one.