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

mimikakimemo

自分用メモ。

LIVA と KTV-FSUSB2 で地デジをみる

鼻毛鯖で使っている USB 地デジチューナー KTV-FSUSB2 を ECS LIVA にくっつけて、視聴・録画を試してみた。OS は Ubuntu 14.04 Desktop。

KEIAN USB地デジ&ワンセグチューナー KTV-FSUSB2/V3

KEIAN USB地デジ&ワンセグチューナー KTV-FSUSB2/V3

チューナーの接続

以前鼻毛鯖で設定した時と同様。

まず USB に接続していない状態で、使用するユーザーを video グループに追加する。

$ sudo gpasswd -a ユーザー名 video

グループの追加を反映させるため、一度ログアウトしてからログイン。

次に /lib/udev/rules.d/89-tuner.rules を以下の内容で作成。

# FSUSB2N
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0511", ATTRS{idProduct}=="0029", MODE="0664", GROUP="video"

そしてチューナーを接続し、認識されているか確認。

$ lsusb -d 0511:
Bus 002 Device 003: ID 0511:0029 N'Able (DataBook) Technologies, Inc.

recfsusb2n のビルド

以下の記事を参考にした。

ソースのダウンロード

recfsusb2n for linux のソース本体を下のリポジトリから取ってくる。2012年11月26日以降は更新されていない。バージョンは 0.9.2。

次に、下のブログから tssplitter_lite と HTTP サーバを内蔵させるパッチをダウンロード。最新は2012年5月30日の記事のもの。

パッチの適用

パッチのアーカイブ recfsusb2n_http_patch2.zip を展開すると中身は以下のようになっている。

recfsusb2n_http_patch2
├── Makefile
├── decoder.h
├── fsusb2n.cpp
├── readme_patch.txt
├── tssplitter_lite.cpp
└── tssplitter_lite.h

これら中身のファイルをすべて recfsusb2n/src/ 内に(上書き)コピーする。

make

上のリポジトリの状態では cmake を使ってビルドするようになっているが、パッチの中に Makefile がついているので、今回はこれを使う。

自分のLIVA+Ubuntu では、以下のように src/Makefile を1行修正する必要があった(-lboost_thread-mt ではない)。

LIBS   = -lpthread -lboost_system -lboost_thread -lboost_filesystem

書き換えて make すれば、src/ 内に recfsusb2n という実行ファイルができあがる。

$ sudo apt-get install libboost-thread-dev libboost-filesystem-dev
$ cd src
$ make

視聴する

引数なしで実行するとヘルプが表示される。

$ ./recfsusb2n
usage:
./recfsusb2n [--b25] [-v] [--sid n1,n2,...] [--wait n] channel recsec destfile

Remarks:
if rectime  is '-', records indefinitely.
if destfile is '-', stdout is used for output.

http broadcasting mode:
./recfsusb2n --http portnumber [--b25] [-v] [--sid n1,n2,...] [--wait n]

Options:
--b25:              Decrypt using BCAS card
-v:
--sid n1,n2,...:    Specify SID number or keywords(all,hd,sd1,sd2,sd3,1seg,epg) in CSV format
--http portnumber:  Turn on http broadcasting (run as a daemon)
--wait n:           Wait insert before of recording (1=100mSec)

録画テスト

テストのため、TS ファイルを30秒間だけ録画してみる。チャンネルの27はNHK総合(東京)。

$ ./recfsusb2n --b25 -v 27 30 test.ts

test.ts を VLC で再生してみたらちゃんと録画できていた。成功。

確認が終わったら、recfsusb2n をパスの通っているところ(/usr/local/bin)に入れておく。

内蔵 HTTP サーバを使ってテレビを視聴する

--http オプションを指定すると、HTTP サーバとなるデーモンが立ち上がる。

$ recfsusb2n --b25 -v --http 8888
creating a http daemon
recfsusb2n ver. 0.9.2
ISDB-T DTV Tuner FSUSB2N
device: "/dev/bus/usb/001/003"
run as a daemon..
listening at port 8888
pid = 3475

VLC からこれにアクセスすれば、好きなチャンネルの放送を視聴することができる。たとえば、27chなら次のようにする。

$ vlc http://localhost:8888/27

なお、あらかじめ以下のようなテキストファイルを tv.m3u などとして作成しておき、これを VLC にプレイリストとして読み込ませれば、GUI からのチャンネル変更が容易になる。

#EXTM3U
#EXTINF:0,NHK 総合
http://localhost:8888/27
#EXTINF:0,NHK Eテレ
http://localhost:8888/26
#EXTINF:0,日本テレビ
http://localhost:8888/25
#EXTINF:0,テレビ朝日
http://localhost:8888/24
#EXTINF:0,TBS
http://localhost:8888/22
#EXTINF:0,テレビ東京
http://localhost:8888/23
#EXTINF:0,フジテレビ
http://localhost:8888/21
#EXTINF:0,東京MX
http://localhost:8888/20
#EXTINF:0,放送大学
http://localhost:8888/28


というわけで、LIVA でも普通に地デジの試聴ができた。次は録画予約システム Chinachu を導入してみたい。