2006-01-20 VLC/VLS Maniacs
■コマンドラインからVLCを使う
IEEE1394からの入力をMPEG1に変換してVLC経由でネットワーク出力
% time dvgrab - |ffmpeg -f dv -i - -deinterlace -b 200 -f mpeg -y -| vlc --intf=dummy -vvv file/ps:///dev/stdin --sout '#standard{access=udp,mux=ps,url=XXX.XXX.XXX.XXX:1234}'
/mnt/tera以下のファイルをrecursiveに取得しプレイリスト作成 & MPEG4にtranscode & UDPで出力 & Web Interfaceを上げる
% vlc -L -I http --http-host XXX.XXX.XXX.XXX:3939 --recursive expand file:///mnt/tera/ -vvv --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=udp,mux=ts,url=XXX.XXX.XXX.XXX:1234}'
■VLSのconfファイル
以前はVLSがサーバでVLCがクライアントとしてプロジェクトが進められていたらしいが、今はVLCへの統合が進んでいるらしい。1:1の通信とかならVLCでもいいけど、複数箇所への配信の場合はVLSのデザインのほうが好きだな。本家のドキュメントが全然役に立たなかった(間違っていてもパースエラーすら表示してくれないので困る)ので、フォーラムを参考に書いたら動いた。
BEGIN "global" LogFile = "/tmp/vls.log" systemlog = "enable" screenlog = "enable" END BEGIN "groups" master = "cd|ls|help|browse|start|broadcast_resume|broadcast_suspend|broadcast_stop|shutdown|logout|config|program|input|channel|show|broadcast_ls|broadcast_add|broadcast_del|channel_add|broadcast_start|channel_add|channel_del" monitor = "help|browse|logout" END BEGIN "users" admin = ":master" monitor = ":monitor" END BEGIN "inputs" local1 = "local" END BEGIN "interfaces" telnet = "telnet" END BEGIN "telnet" localport = "9999" use = "true" END BEGIN "local1" ProgramCount = "1" TrickPlay = "normal" END BEGIN "channels" z203tv = "network" END BEGIN "host1" domain = "inet4" type = "unicast" dsthost = "XXX.XXX.XXX.XXX" dstport = "1234" END BEGIN "input" filespath = "/home/dmnk/vlsfiles/" programcount = "1" END BEGIN "1" name = "madonna" filename = "madonna_hungup.mpg" type = "mpeg2-ps" END