Hi,
Running Windows XP SP2 with VLC 0.8.1 as the server. Running MacOS X 10.3.8 with VLC 0.8.1 as the stream recipient (although I think this problem lies entirely on the server).
I'm trying to set up VLC to stream a live capture stream from an ATI TV Wonder Elite card.
VLC seems to be able to see the card okay via DirectShow (I can play its input locally), but I'm not able to get it to stream.
Here's what I'm doing:
1) Open Capture Device
2) Click the DirectShow tab
3) Leave the Video and Audio device names set on "Default"
4) Click the "Device properties" check-box
5) Click the "Stream output" check box
6) Slick the Caching check box
7) Click the "Settings..." button next to Stream output
8) Click the "HTTP" check box in the Output methods group
9) Enter my PC's IP address in the address field, and leave the port at the default 1234
10) Leave MPEG TS selected for the Encapsulation
11) Do not select transcoding or misc options.
12) 8-11 yield a destination target of
:sout=#duplicate{dst=std{access=http,mux=ts,url=192.168.15.104:1234}}
13) Close the Settings window by clicking OK, then click OK in the "Open..." dialog
14) The Device Properties windows open one at a time. I just "OK" through them, except for the one where I specify the "Crossbar" input. I'm using the S-Video input on the ATI, so I have to select input "2: Video SVideo In". This shows "Related Pin" "3: Audio Tuner In", and I check the "Link Related Streams" box.
I then try to connect with VLC on the Mac, but I get "main: cannot pre fill buffer".
I tried packet-sniffing this with Ethereal, and noticed that the HTTP connection succeeds with a 200 status, but then no data is sent. After a few seconds, the VLC client on the mac pops up that error.
So, I did all of the above with the Messages window open, and saved the results.
I didn't want to paste the whole giant thing in here, so they are available at http://ng.netgate.net/~mjkobb/VLC_messages.txt
The last little bit of the message file is copied below, though:
main debug: looking for packetizer module
main debug: probing 17 candidates
main debug: using packetizer module "rawvideo"
main debug: thread 4536 (decoder) created at priority 0 (src/input/decoder.c:157)
main debug: looking for packetizer module
main debug: probing 17 candidates
main debug: using packetizer module "packetizer_copy"
main debug: thread 4548 (decoder) created at priority 2 (src/input/decoder.c:157)
main debug: starting in synch mode
main debug: `dshow://' sucessfully opened
main debug: adding a new input
stream_out_duplicate debug: duplicated a new stream codec=YUY2 (es=0 group=0)
main debug: adding a new input
mux_ts debug: adding input codec=YUY2 pid=68
main error: cannot add this stream
stream_out_duplicate debug: - failed for output 0
main error: cannot create packetizer output
main debug: adding a new input
stream_out_duplicate debug: duplicated a new stream codec=s16l (es=1 group=0)
main debug: adding a new input
mux_ts debug: adding input codec=s16l pid=69
main error: cannot add this stream
stream_out_duplicate debug: - failed for output 0
main error: cannot create packetizer output
So, it seems like for some reason VLC is unable to make these streams available for serving? Perhaps I have selected an incorrect option someplace?
If I do all the same steps except just don't check the "Stream Input" option, the VLC window opens on the PC just fine and shows the video with audio. So, I know the card is working, and it seems like VLC and DirectShow are talking.
Conversely, if I use a file as a source on the server, and use the same HTTP address, port and so forth, I can stream it beautifully.
I searched this forum and the docs but didn't find anything. I may well have missed the crucial piece, though.
Many thanks for any suggestions.
--Mike Kobb
PS: If I wanted to do this from the command line, is there some way to pass through an argument to indicate that it should use the S-Video input and the corresponding audio?