Page 1 of 1

Recording a stream on file and providing it for HTTP usage

Posted: 21 Jul 2008 17:11
by fmarletta
Hi to all,
I've a problem using vlc as a recorder and a streamer at the same time.

This is the scenario: there are 3 hosts (Video, Server, Client) that must work togheter in a chain. The Video host is connected to a camera (so it is the source of the chain), the Client host runs a Web Browser while the Server host is responsible of connecting the Video and the Client (ther can be more than one clients) plus providing extra functionality. Specifically, the Server must receive the stream from the Video host (using UDP protocol), saving it to the disk (I'm using a .mov file) and listening for HTTP streaming at the same time.

All hosts are, currently, on the same LAN, but after the chain will work correctly, the Video host will be moved outside the LAN and will communicate with the Server using a tunnel (I've triend the communication between Video and Server over the tunnel and it work perfectly).

My problem is the Server: I'm able to register the stream received from the Video host, I'm able to stream a file over HTTP (even the previously saved file) but I'm not able to do the 2 actions at the same time... doing this the VLC running on the Client (I'm doing the tests using VLC, when everything works I'll use the bowser with the vlc-plugin) shows nothing.

Here are the VLC command lines used on the 3 hosts:
- Video
vlc -v --no-audio v4l:// --sout "#transcode{vcodec=h264,vb=512,scale=1}:duplicate{dst=display,dst=std{access=udp,mux=ts,dst=SERVER_IP:21620}}"
- Server
vlc -v udp:@:21620 --sout="#duplicate{dst=display,dst=std{access=file,mux=mov,dst='file.mov'},dst=std{access=http,mux=asf,dst=SERVER_IP:9000}}"
- Client
vlc -v http://SERVER_IP:9000

Note: the "display" output is currently used everywhere only for debug purposes

I don't understand where is the problem or if I'm doing something wrong... or is VLC unable to perform this kind of activity?