読者です 読者をやめる 読者になる 読者になる

k_piの雑記帳

個人的に困った点と、その解決法などをつらつら書き連ねた備忘録を兼ねたブログ

recdvbをいじってみた+いじったやつを公開してみた

PX-S1UD recdvb

【動機】

前に書いたPX-S1UDとRaspberryPiを用いて、家中どこでもテレビ(ワンセグ)を実現する。で述べたが、オリジナルのrecdvbではHTTPレスポンスヘッダのContent-Typeがapplication/octet-streamになっているので、Androidスマホ等からアクセスしたときにIntentが働かない。
recdvbから流れているストリーム自体はMPEG2-TSのまんまなので、AndroidiPhone用のアプリが必要というよりもrecdvb側をいじればいいんだろうということでやってみることにした。

【変更点】

recdvbのContent-Typeは「recpt1.c」内に記述されているので、そこをいじってやってb25有効時とワンセグ試聴時はContent-Typeを「video/mpeg」にしてやった。
数行いじっただけなので、具体的な変更点は後記のgithubのcommitを見てもらえばわかるはず。

 【ソースコード

GitHub - k-pi/recdvbにて公開している。

オリジナルのrecdvbも元サイトが閉鎖されていたので、一緒に上げておいた。
現在復活している(Sat's space)【2016/03/27追記】

【インストール・使用法】

(PX-S1UDの導入方法自体は、過去の記事を参考にしてほしい。その他のdvbデバイスの導入方法については他のサイトを参照すること。)

  1. autoconf・automakeをインストール
  2. recdvbソースコードを展開
  3. ./autogen.shを実行
  4. ./configureを実行
    b25サポートを有効にする場合は、「--enable-b25」オプションを付ける
  5. make & make installを実行

以上で、recdvbをインストールできる。

次に、使用法であるが、録画は、
recdvb (--b25) (--strip) --sid <sid(hd,1seg,etc...)> <channel> <rec_time[sec]> <destination_path>
HTTPサーバー機能は、
recdvb --http <port> (--b25) (--strip)
でOK。

【余談】

今回、テレビ放送をスマホで見るためにrecdvbをいじる方向でやってきたが、
最近の流れから言えば、BonDriverProxy_Linux+recbondなどLinuxでもbondriverを利用する流れが来ているので、recdvbは下火になりそう。
でも、せっかくなのでPX-BCUDのdvbドライバが出たら、BS対応版のrecdvb作ってみようかな・・・
Sat's spaceのSatoshi Nagahama氏がPX-BCUDのドライバ作った上に、BS対応版のrecdvbも作っちゃったよ・・・(゜Д゜)【2016/03/27追記】

製品紹介(Amazon.co.jpアソシエイト)-----------------
PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0

PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0

 
Raspberry Pi 3 MODEL B 【RS正規流通品】

Raspberry Pi 3 MODEL B 【RS正規流通品】

 
Raspberry Pi Model B+ (Plus)

Raspberry Pi Model B+ (Plus)