Postby markfm » 18 Oct 2004 15:15
A sample command-line, lots of options, is:
vlc dshow:// :dshow-vdev="CompUSA PC Camera" :dshow-adev="none" :no-dshow-config :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=128,scale=1,sfilter=marq:logo:time}:duplicate{dst=std{access=mmsh,mux=asfh,url=:1234}} --time-x=0 --time-y=226 --marq-x=0 --marq-y=0 --marq-marquee="hello world" --marq-timeout=0 --rc-extend --logo-file=vlc32x32.png --logo-x=297 --logo-y=0 --freetype-font=c:\cygwin\home\arkfonts\AerialMono.ttf --sout-transcode-fps=5.0 --extraintf="rc" --rc-host="192.168.2.50:20" --rc-quiet
sfilter=marq:logo:time means you want a general text string, plus a .png graphics logo, plus a time string.
For logo, you control the file name, XY location (measured from upper left corner of the window), and transparency (--logo-transparency=number, where number is 0 to 255)
For marquee, you control the contents of the text string, plus location on screen.
The time string can actually be formatted pretty much however you want, and can include text; use --time-format="my formatted time, in quotes", for example:
--time-format="The time is: %H:%M:%S"
If you don't actually put in any time formats (e.g., %H), time-format can be used as another generic text string.
--freetype-font lets you substitute a different font type. I happen to like a mono-spaced font, so the time/date doesn't jitter.
--sout-transcode-fps is something to control the framerate of the output stream. In this case I cut it to 5 frames per second -- for a given bandwidth, lower fps normally translates to better quality, though it doesn't handle fast motion as well.
You can absolutely use the sfilter switches to superimpose time, logo, marquee text, in your output stream to disk. The only "requirement" is that you must be transcoding, which does use a bit of CPU.