
Originally Posted by
hojbjerg
Would you mind listing a couple of advanced command line examples for VLC:
1. Http based streaming of live recoding from a TiVo (vlc doing transcoding/server).
2. Pulling an existing recording off a TiVo and saving it in mpeg-4 format (vlc doing transcoding).
Well, it looks like the "Live" streams aren't playing so well using the vstream module. I'm looking into that. But for other programs, to stream them out over HTTP would be like this:
Code:
vlc --sout=#transcode{vcodec=DIV3,vb=256,scale=0.5,acodec=mp3,ab=64,channels=2}
:duplicate{dst=std{access=mmsh,mux=asfh,url=0.0.0.0:1234}}
tivo://my-tivo-address/nnnnnnn
Where nnnnnnn is the fsid. Of course it all should go on one line (NO SPACE BEFORE :duplicate, SPACE BEFORE tivo://), I broke it up to make it look pretty in here. That will transcode to DIV3 video, mp3 audio, scale the image by half, and stream it out over any tcp interface at a combined bitrate of about 320 Kbits/sec. This is playable by Windows Media Player. Another cool option to add in there after "scale" is "fps=20" which would lower the frame rate to 20 frames per second. Or you could try 15 or 10 or whatever. That really saves on bandwidth if you can stand to watch it.
For transcoding to mpeg-4, you would do something like this:
Code:
vlc --sout=#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mp3,ab=192,channels=2}
:duplicate{dst=std{access=file,mux=ts,url="c:\output.mpg"}}
tivo://my-tivo-address/nnnnnnn
The video bitrate is 1Mbit, audio bitrate is 192Kbit. You may want to adjust the "mux=" setting to ps, or asf, or something else. That's the encapsulation, and to be honest I'm not sure what's the proper choice. Using the above, WMP complains about needing a MP4S codec when playing the resulting file. VLC plays it just fine, though.
All of these settings are available within the VLC gui; you don't have to use the command line. And remember: Windows Media player is very very picky about some things. VLC of course plays everything just fine. So if you're streaming, use VLC on both ends for best results.
Edit: I've adjusted the streaming example above to be more compatible with WMP.