Hatena::ブログ(Diary)

Keep it tidy! : 一人CCIE Bootcamp このページをアンテナに追加 RSSフィード

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