TBS6209 の安定度を検証する

TBS6209を購入してしばらく経ちましたが感触としてはいい感じでとても安定していると思います。しかし、次のような出来事に遭遇する場面もあり、一度冷静に検証してみる必要性を感じました。

  1. Mirakurun で同時に8チューナーを使った場合に8番目のチューナーがSpawnを繰り返す。
  2. dvbv5-zap を多重起動すると「buffer overrun」と表示される。
  3. 非常にシンプルなISDB-Tに特化したソフト isdbt-capture が使えそう。

理由1については現在再現テスト中なので、詳細は後日コミュニティに報告したいと思います。理由2については dvbv5-zap のソースコードを見てみたけどエラーではなく処理を継続していたのでワーニング的な扱いなのかな。しかし、「buffer overrun」の文字を見た時に不安を感じて、 TBS6209 が問題なく動く予備のソフトを探しました。そうして見つけたのが Github.com にあった isdbt-capture でした。とてもシンプルで私でもソースが読み易かったです。ISDB-Tだけに機能を絞っているので、ISDB-Tがうまく扱えるようにチューンされている感じがしました。

検証環境
CPU Intel Core i7-3770S
M/B ASUS B75M-PLUS
RAM 32GB
HDD RAID5 3 x Seagate NAS 3.5″ 3TB ST3000VN000
Spare 1 x Seagate IronWolf NAS 3.5″ 3TB ST3000VN007
PCIE Areca ARC-1214-4i RAID Card
PCIE TBS6209 Octa Tuner Card
検証1回目

まず test.sh を実行し isdbt-capture で 8チューナー同時に1時間の録画をします。次に result.sh でtsselectを使いパケットのドロップの有無を調べます。

#!/bin/sh
timeout -s INT 1h isdbt-capture -a 0 -c 21 -o - | arib-b25-stream-test > 21ch.m2ts &
timeout -s INT 1h isdbt-capture -a 1 -c 22 -o - | arib-b25-stream-test > 22ch.m2ts &
timeout -s INT 1h isdbt-capture -a 2 -c 23 -o - | arib-b25-stream-test > 23ch.m2ts &
timeout -s INT 1h isdbt-capture -a 3 -c 24 -o - | arib-b25-stream-test > 24ch.m2ts &
timeout -s INT 1h isdbt-capture -a 4 -c 25 -o - | arib-b25-stream-test > 25ch.m2ts &
timeout -s INT 1h isdbt-capture -a 5 -c 26 -o - | arib-b25-stream-test > 26ch.m2ts &
timeout -s INT 1h isdbt-capture -a 6 -c 27 -o - | arib-b25-stream-test > 27ch.m2ts &
timeout -s INT 1h isdbt-capture -a 7 -c 28 -o - | arib-b25-stream-test > 28ch.m2ts &
#!/bin/sh
tsselect 21ch.m2ts > 21ch.log
tsselect 22ch.m2ts > 22ch.log
tsselect 23ch.m2ts > 23ch.log
tsselect 24ch.m2ts > 24ch.log
tsselect 25ch.m2ts > 25ch.log
tsselect 26ch.m2ts > 26ch.log
tsselect 27ch.m2ts > 27ch.log
tsselect 28ch.m2ts > 28ch.log
検証1回目の結果
Adapter Channel Drop Error Scramble Offset
0 21 0 0 0
1 22 1 0 0 188
2 23 0 0 0
3 24 0 0 0
4 25 2 0 0 0, 1504
5 26 1 0 0 0
6 27 1 0 0 752
7 28 0 0 0

ドロップ無しの結果を期待したのですが、予想に反してドロップが発生してしまいました。しかし、ドロップが発生した状況を見てみるとoffset値がいずれも2000以下であることがわかります。録画開始時のチャンネルを切り替えた直後は信号が不安定な状態なのでそこを拾ってしまったと考えられます。 isdbt-capture を録画開始時の2000パケットを捨てるように修正します。また、arib-b25-stream-test は 8チューナー同時の処理でも当然のごとくちゃんと動きました。スクランブルの解除漏れ無し。

検証2回目

改めて test.sh と result.sh で検証です。今度はパケットを捨てた効果からかドロップは無しでした。

検証2回目の結果
Adapter Channel Drop Error Scramble Offset
0 21 0 0 0
1 22 0 0 0
2 23 0 0 0
3 24 0 0 0
4 25 0 0 0
5 26 0 0 0
6 27 0 0 0
7 28 0 0 0
検証3回目

次は dvbv5-zap です。test2.sh を実行し dvbv5-zap で 8チューナー同時に1時間の録画をします。次に result2.sh でtsselectを使いパケットのドロップの有無を調べます。検証2回目は検証1回目から2時間経過後に実施しました。

#!/bin/sh
timeout -s INT 1h dvbv5-zap -a 0 -C JP -c /etc/ISDBT-JP.conf -r -P 21 -o - | arib-b25-stream-test > zap21ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 1 -C JP -c /etc/ISDBT-JP.conf -r -P 22 -o - | arib-b25-stream-test > zap22ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 2 -C JP -c /etc/ISDBT-JP.conf -r -P 23 -o - | arib-b25-stream-test > zap23ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 3 -C JP -c /etc/ISDBT-JP.conf -r -P 24 -o - | arib-b25-stream-test > zap24ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 4 -C JP -c /etc/ISDBT-JP.conf -r -P 25 -o - | arib-b25-stream-test > zap25ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 5 -C JP -c /etc/ISDBT-JP.conf -r -P 26 -o - | arib-b25-stream-test > zap26ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 6 -C JP -c /etc/ISDBT-JP.conf -r -P 27 -o - | arib-b25-stream-test > zap27ch.m2ts &
timeout -s INT 1h dvbv5-zap -a 7 -C JP -c /etc/ISDBT-JP.conf -r -P 28 -o - | arib-b25-stream-test > zap28ch.m2ts &
#!/bin/sh
tsselect zap21ch.m2ts > zap21ch.log
tsselect zap22ch.m2ts > zap22ch.log
tsselect zap23ch.m2ts > zap23ch.log
tsselect zap24ch.m2ts > zap24ch.log
tsselect zap25ch.m2ts > zap25ch.log
tsselect zap26ch.m2ts > zap26ch.log
tsselect zap27ch.m2ts > zap27ch.log
tsselect zap28ch.m2ts > zap28ch.log
検証3回目の結果
Adapter Channel Drop Error Scramble Offset
0 21 25 0 0 多数
1 22 97 0 0 多数
2 23 23 0 0 多数
3 24 27 0 0 多数
4 25 47 0 0 多数
5 26 1 0 0 1557525104
6 27 0 0 0
7 28 0 0 0

やはりと言うべきか多重処理で重くなると不安定になるのでしょうか。

検証4回目

それでは dvbv5-zap でドロップが多かった22chでAdapter#7で1時間録画してドロップ数がどうなるか見てみましょう。

timeout -s INT 1h dvbv5-zap -a 7 -C JP -c /etc/ISDBT-JP.conf -r -P 22 -o - | arib-b25-stream-test > zap22ch.m2ts
tsselect zap22ch.m2ts
検証4回目の結果
Adapter Channel Drop Error Scramble Offset
7 22 0 0 0

多重度が少なければ問題なさそうですね。

まとめ

今回の検証作業で tbs6209 + isdbt-capture(改) で安定して地デジが録画できることが検証出来ました。tbs6209を購入して原因不明のドロップで困っている方は使っているソフトを変えてみるといいかも知れませんね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です