udp streaming おかわり

たまーに妙なことになってkillするはめになるが、だいたいこんな感じ。

ch.php
ブラウザからチャンネル選択するUI。選択すると、チャンネル番号を引数にch.plをバックグラウンド起動。ch.plの停止もここから可能。
ch.pl
recptx.plを改造したもの。sysctlでチャンネル選択したら、ファイルに落とすのではなくてtsplayを起動する。一応ch.plが同時に複数起動しないように排他制御もあり。
tsplay
ブラウザのREMOTE_HOST宛に、ptxデバイスのデータをudpで流す。マルチキャストアドレスでも可能は可能なんだが、おうちLANが死ぬ。。。

tsplayはちくちくいじっていて、

  • libarib25経由デバイス直読みなので、seekはできないから、seekエラーを無視する
  • 複数編成の場合、指定チャネル(sid)だけを送る、念のためPATも書き換え(これで、5MB/sくらいだったチャンネルのデータ流量が、1/4くらいになった)

VLCで、EPGやらプログラム名が文字化けするのはしょうがないのかのお。ソースなら、ARIB文字対応された版もあるようだけど、Windowsでビルドする気力はないなあ。

チャンネルによって音が出ないとか(2ヶ国語のニュースに多いような気がする)、チャンネル切り替えしたら止まっちゃうとか。

あ。
iPadのGoodPlayerでも、WiFi経由のudp://@192.168.0.1:9870で映ったー。おぉ。