ブラジル地デジ向けGeniatech USBチューナーをWindowsで使う場合のソフトウェアについて

ブラジル地デジ向けとして販売されているGeniatechUSB ISDB-Tチューナーは、製品添付のソフトウェアが若干古いバージョンとなっています。
しかし、メーカ公式のサポートページに最新版がリストアップされていないのです。

どうやって見つけたのかは定かではありませんが、geniatechのweb上のURLが判明しています。

TotalMedia 3.5.7.369(ネタ元:TotalMedia 3.5.7.359)
 製品添付のCD-ROM内のソフトウェアはTotal Mediaです。
 更新を探しても最新版だ、と言われたりしますが、さらに新しいレビジョンが存在しています。
 これにしたら、チャンネルスキャンで検出されるチャンネル名が文字化けしない日本語になりました。

SATVD-T 2.9.1.5(ネタ元:SATVD-T 2.9.1.5)
 製品添付のCD-ROMには存在しないですが、ISDB-T対応のチューナーソフトウェアです。
 (SATVD-T=ブラジル地デジ)
 チャンネル名が文字化けする、というのと、録画ができない、という問題はありますが、ちゃんと動作します。
 また、SmartCardリーダにB-CASカードを挿してからソフトウェアを起動すると、日本の地デジも見ることができます。

ProgDVB
 日本のワンセグは見れました。
 チャンネル名は日本語認識。EPG(番組表)も日本語でちゃんと取得できました。
 無料で使えるStandardは録画できませんが、Professional版は録画できます。
 ただ、音声が出ない場合があります。
 その場合、[Setting]-[Options]の[Audio]-[Codecs」にて「AAC」を「ArcSoft Audio Decoder」
 「Audio Renderer」のTypeを「System」に変更するといいかもしれません。
 (ArcSoft Audio Decoderがない場合は、Total Mediaをインストールしてください)
 なお、このソフト、SATVD-T と比較すると認識するチャンネル数が激減します。謎です。

ブラジル地デジ向けUSBチューナー S870を使ってUbuntu上で地デジ視聴 速報版

Ubuntu 12.04 + hp t5730w(PC) +「ブラジル地デジ向けUSBチューナー S870」+「台湾のセブンイレブンで台湾の銀行のオンライン決済向けに販売していたSmartCardリーダ」+「B-CASカード」という組み合わせで、日本の地デジを視聴することに成功。

最初、使い方がよく分からなかったので、難航したのですが、PT2のDVB環境関連の記事を参考にすることで、なんとか視聴に成功しました。

試行錯誤しすぎて、最終的にどうやれば見えるのかがよくわからない状態に・・・
あとで環境再構築して、やり直さないと・・・

とりあえずは以下の様な感じ。
1. SmartCardを使える環境にする
2. fuse_b25というB-CASアクセスコントロールがかかっている/dev/dvb/にラッピングするものを導入
3. PT2用のtuneコマンドでチャンネル切り替え、が可能なのを確認
4. 「mplayer /dev/dvb/adapter?/dvr0」とすると、上記tuneコマンドで選択したチャンネルが見える

というわけで、送料込み4千円でLinuxで認識するUSBチューナーが手に入るよ、という話でした。

# tail -f /var/log/syslog

May 22 17:11:42 hp-t5730w FUSE_b25[13068]: /dvr0 open flags:0x8000
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[000000].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x0001].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x0010].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x0011].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x0012].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: new PAT for ts:0x7fe1, ver:0x1b, 6-progs.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x01f0].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x03f0].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x04f0].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x1fc8].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x1df0].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: detected TS packet size 188 bytes.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: created new section for pid:[0x0901].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: new PMT for prog:0x0408, ver:0x02, 10-pes's.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: new PMT for prog:0x0409, ver:0x02, 10-pes's.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: new PMT for prog:0x040a, ver:0x04, 10-pes's.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: new ECM. ver:[0x1b].
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: sent an ECM to the card.(len:30)
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: Got an ECM response.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: ECM k_odd updated.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: ECM k_even updated.
May 22 17:11:42 hp-t5730w FUSE_b25[13068]: descramle started.
May 22 17:11:43 hp-t5730w FUSE_b25[13068]: new PMT for prog:0xfff1, ver:0000, 12-pes's.
May 22 17:11:43 hp-t5730w FUSE_b25[13068]: new PMT for prog:0x0588, ver:0x0a, 6-pes's.
May 22 17:11:44 hp-t5730w FUSE_b25[13068]: new ECM. ver:[0x1c].
May 22 17:11:44 hp-t5730w FUSE_b25[13068]: sent an ECM to the card.(len:30)
May 22 17:11:44 hp-t5730w FUSE_b25[13068]: Got an ECM response.
May 22 17:11:44 hp-t5730w FUSE_b25[13068]: ECM k_even updated.
May 22 17:11:46 hp-t5730w FUSE_b25[13068]: new ECM. ver:[0x1d].
May 22 17:11:46 hp-t5730w FUSE_b25[13068]: sent an ECM to the card.(len:30)
May 22 17:11:46 hp-t5730w FUSE_b25[13068]: Got an ECM response.
May 22 17:11:46 hp-t5730w FUSE_b25[13068]: ECM k_odd updated.
May 22 17:11:47 hp-t5730w FUSE_b25[13068]: bad data for short event desc.
May 22 17:11:47 hp-t5730w FUSE_b25[13068]: bad data/overflow in EIT. discarding the rest.
May 22 17:11:47 hp-t5730w FUSE_b25[13068]: bad data for short event desc.
May 22 17:11:47 hp-t5730w FUSE_b25[13068]: bad data/overflow in EIT. discarding the rest.
May 22 17:11:48 hp-t5730w FUSE_b25[13068]: new ECM. ver:[0x1e].
May 22 17:11:48 hp-t5730w FUSE_b25[13068]: sent an ECM to the card.(len:30)
May 22 17:11:48 hp-t5730w FUSE_b25[13068]: Got an ECM response.
May 22 17:11:48 hp-t5730w FUSE_b25[13068]: ECM k_even updated.
May 22 17:11:50 hp-t5730w FUSE_b25[13068]: outbuf overflowed.
May 22 17:11:50  FUSE_b25[13068]: last message repeated 195 times
May 22 17:11:50 hp-t5730w rsyslogd-2177: imuxsock begins to drop messages from pid 13068 due to rate-limiting

mplayerの起動関連

# mplayer /dev/dvb/adapter8/dvr0 
MPlayer2 UNKNOWN (C) 2000-2011 MPlayer Team
3DNow supported but disabled
3DNowExt supported but disabled
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /dev/dvb/adapter8/dvr0.
Detected file format: MPEG-2 transport stream format (libavformat)
Cannot seek backward in linear streams!
Seek failed
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 6 got 0
[aac @ 0x15986a0]channel element 3.2 is not allocated
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[aac @ 0x15986a0]channel element 1.4 is not allocated
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[NULL @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpeg2video @ 0x15986a0]mpeg_decode_postinit() failure
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]PES packet size mismatch
[mpegts @ 0x5891d80]PES packet size mismatch
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 7 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 9 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 16 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
[mpegts @ 0x5891d80]PES packet size mismatch
[mpegts @ 0x5891d80]PES packet size mismatch
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 6 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[h264 @ 0x15986a0]non-existing PPS referenced
[h264 @ 0x15986a0]non-existing PPS 1 referenced
[h264 @ 0x15986a0]decode_slice_header error
[h264 @ 0x15986a0]no frame!
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 6 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 7 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 17 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 16 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 14 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (mpeg2video), -vid 0
[lavf] stream 1: audio (aac), -aid 0
[lavf] stream 10: audio (aac), -aid 1
[lavf] stream 11: video (h264), -vid 1
LAVF: Program 1032 
LAVF: Program 1033 
LAVF: Program 1034 
LAVF: Program 1416 
LAVF: Program 65521 
VIDEO:  [MPG2]  1440x1080  0bpp  29.970 fps  24000.0 kbps (2929.7 kbyte/s)
Load subtitles in /dev/dvb/adapter8/
Failed to open VDPAU backend libvdpau_r300.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
[ass] auto-open
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
[aac @ 0x15986a0]Reserved bit set.
AUDIO: 48000 Hz, 2 ch, s16le, 239.2 kbit/15.58% (ratio: 29906->192000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1440x1080 => 1920x1080 Planar YV12 
[mpeg2video @ 0x15986a0]warning: first frame is no keyframe
A:8309.8 V:8308.3 A-V:  1.566 ct:  0.000   0/  0 357% 39%  6.2% 20 0 
[mpegts @ 0x5891d80]PES packet size mismatch
[mpegts @ 0x5891d80]PES packet size mismatch
A:8309.9 V:8308.3 A-V:  1.625 ct:  0.000   0/  0 348% 38%  8.7% 21 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 6 got 0
A:8310.1 V:8308.4 A-V:  1.747 ct:  0.000   0/  0 334% 37% 11.4% 23 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
A:8310.2 V:8308.4 A-V:  1.817 ct:  0.000   0/  0 327% 36% 15.4% 24 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 10 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8310.5 V:8308.5 A-V:  2.007 ct:  0.000   0/  0 311% 35% 19.1% 27 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8310.6 V:8308.5 A-V:  2.091 ct:  0.000   0/  0 307% 34% 22.5% 28 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 16 expected 1 got 0
A:8310.7 V:8308.6 A-V:  2.159 ct:  0.000   0/  0 303% 35% 23.0% 29 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 6 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8310.8 V:8308.6 A-V:  2.225 ct:  0.000   0/  0 298% 34% 25.4% 30 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
A:8311.0 V:8308.6 A-V:  2.328 ct:  0.000   0/  0 298% 34% 26.2% 31 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8311.1 V:8308.7 A-V:  2.397 ct:  0.000   0/  0 294% 33% 28.0% 32 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8311.2 V:8308.7 A-V:  2.463 ct:  0.000   0/  0 291% 33% 29.2% 33 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 5 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8311.3 V:8308.7 A-V:  2.558 ct:  0.000   0/  0 288% 33% 31.1% 34 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8311.4 V:8308.8 A-V:  2.618 ct:  0.000   0/  0 285% 32% 32.1% 35 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8311.5 V:8308.8 A-V:  2.702 ct:  0.000   0/  0 282% 32% 34.2% 36 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8311.6 V:8308.8 A-V:  2.780 ct:  0.000   0/  0 281% 32% 34.7% 37 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 17 expected 1 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 16 expected 1 got 0
A:8311.7 V:8308.9 A-V:  2.854 ct:  0.000   0/  0 279% 31% 35.1% 38 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 5 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
A:8311.8 V:8308.9 A-V:  2.929 ct:  0.000   0/  0 276% 32% 36.4% 39 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 3 got 0
A:8312.1 V:8308.9 A-V:  3.163 ct:  0.000   0/  0 276% 31% 38.0% 40 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 6 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 7 got 0
A:8312.2 V:8309.0 A-V:  3.254 ct:  0.000   0/  0 273% 31% 41.2% 41 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 14 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8312.4 V:8309.0 A-V:  3.393 ct:  0.000   0/  0 268% 31% 42.5% 43 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8312.5 V:8309.1 A-V:  3.455 ct:  0.000   0/  0 265% 31% 44.0% 44 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 2 got 0
A:8312.6 V:8309.1 A-V:  3.513 ct:  0.000   0/  0 263% 31% 44.0% 45 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 16 expected 1 got 0
A:8312.7 V:8309.1 A-V:  3.568 ct:  0.000   0/  0 260% 30% 44.3% 46 0 
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 14 got 0
[mpegts @ 0x5891d80]Continuity check failed for pid 18 expected 4 got 0
A:8312.8 V:8309.2 A-V:  3.628 ct:  0.000   0/  0 258% 30% 44.2% 47 0 

Exiting... (Quit)

ブラジル地デジ向けUSBチューナー S870をLinuxにさしてみた(まだ見えてないけど

まだちゃんと映すことに成功してないけど、まずは途中経過を報告

Geniatechのブラジル地デジ向けUSBチューナー S870は、Ubuntu 11.11上で標準認識します。

[264337.556054] usb 1-7: new high speed USB device number 6 using ehci_hcd
[264338.094256] IR NEC protocol handler initialized
[264338.136231] dib0700: loaded with support for 20 different device-types
[264338.136545] dvb-usb: found a 'DiBcom STK8096GP reference design' in cold state, will try to load a firmware
[264338.137418] IR RC5(x) protocol handler initialized
[264338.156529] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[264338.163256] IR RC6 protocol handler initialized
[264338.174979] IR JVC protocol handler initialized
[264338.182736] IR Sony protocol handler initialized
[264338.195517] lirc_dev: IR Remote Control driver registered, major 250 
[264338.199866] IR LIRC bridge handler initialized
[264338.388201] dib0700: firmware started successfully.
[264338.892193] dvb-usb: found a 'DiBcom STK8096GP reference design' in warm state.
[264338.894738] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[264338.894946] DVB: registering new adapter (DiBcom STK8096GP reference design)
[264339.144686] DVB: registering adapter 0 frontend 0 (DiBcom 8000 ISDB-T)...
[264339.369706] DiB0090: successfully identified
[264339.408028] Registered IR keymap rc-dib0700-rc5
[264339.412407] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.5/usb1/1-7/rc/rc0/input7
[264339.413031] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.5/usb1/1-7/rc/rc0
[264339.413227] dvb-usb: schedule remote query interval to 50 msecs.
[264339.413236] dvb-usb: DiBcom STK8096GP reference design successfully initialized and connected.
[264339.413407] usbcore: registered new interface driver dvb_usb_dib0700

えぇ、このチューナー、「IR Remote Control driver registered」と出ている通り、赤外線リモコン対応です。

# ls -l /dev/dvb/
合計 0
drwxr-xr-x 2 root root 120 2012-05-17 10:24 adapter0
# ls -l /dev/dvb/adapter0/
合計 0
crw-rw----+ 1 root video 212, 0 2012-05-17 10:24 demux0
crw-rw----+ 1 root video 212, 1 2012-05-17 10:24 dvr0
crw-rw----+ 1 root video 212, 3 2012-05-17 10:24 frontend0
crw-rw----+ 1 root video 212, 2 2012-05-17 10:24 net0
# lsusb | grep DiB
Bus 001 Device 006: ID 10b8:1fa0 DiBcom 
# lsmod|grep dib
rc_dib0700_rc5         12460  0 
dvb_usb_dib0700        80531  0 
dib7000p               34073  1 dvb_usb_dib0700
dib0090                32688  2 dvb_usb_dib0700
dib7000m               22965  1 dvb_usb_dib0700
dib0070                18150  1 dvb_usb_dib0700
dvb_usb                23788  1 dvb_usb_dib0700
dib8000                42094  2 dvb_usb_dib0700
dvb_core               94826  3 dib7000p,dvb_usb,dib8000
dib3000mc              22920  1 dvb_usb_dib0700
rc_core                25797  10 rc_dib0700_rc5,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,dvb_usb_dib0700,dvb_usb,ir_nec_decoder
dibx000_common         18418  5 dvb_usb_dib0700,dib7000p,dib7000m,dib8000,dib3000mc
# 

ブラジル地デジでの使用例を探してみると、アプリはvlc,xine,me-tvなどが使えるようです。
ただ、いまのところ、チャンネル検出までは成功していますが、実際の表示は成功してません。

まだまだ調査中といったところです。
とりあえず、DVB-Tとして動作するような雰囲気です。

ブラジル地デジ向けUSBチューナー S870を買ってみた

日本の地デジ ISDB-Tのver2.0みたいな感じの、ブラジルなどの海外向け地デジ ISDB-T (もしくはSBTVDとも言われる)で、日本の地デジを受信してみたらどうなるんだろうなぁ、と疑問に思っていたので、実際に入手して確認してみた。

まず、仕様的な違いで、いくつか細かいところがあるけれど、大きく見える点としては、以下の部分。
・日本 地デジ フルセグ 動画 MPEG2 + B-CASによるアクセスコントロール
・日本 地デジ ワンセグ 動画 H.264 (B-CASは使わない)
・ブラジル 地デジ フルセグ 動画 H.264 (B-CASは使わない)
・ブラジル 地デジ ワンセグ 動画 H.264 (B-CASは使わない)

そんなわけで、日本の地デジは見れないけど、ワンセグは見れるんじゃないかなぁ、というのが事前の予測。

それはさておき、ebayでチューナーを入手。
ものがGiniatech もしくは MyGicaのS870というUSBチューナー
 メーカーの製品ページ:「S870

発注から約1週間で到着。


メーカページの写真とUSBチューナーの見た目がちょっと違う。

とりあえず、Windows7機にて導入。
再生ソフトは、ArcSoftのTotalMedia Theatre 3.5。インタフェース表示は日本語も対応。

ただし、周波数スキャンをしてチャンネル検出した時に出てくるチャンネル名は文字化ける。

文字化けしたものを手動で修正することは可能。

で・・・肝心の動作ですが・・・

「ワンセグ可」

「地デジ(フルセグ)不可」

まぁ、予想通りの結果でした。

とりあえず、いろいろ試してみてるところです。

Windows Server 2012とInfinibandによる高速転送について

Interrop 2012でマイクロソフトがWindows Server 2012 Betaを使ったデモンストレーションを展示しているらしい。
Microsoftのtechnet blogのJose’s Briefings, Diagrams and Annotationsより「Windows Server 2012 Beta with SMB 3.0 – Demo at Interop shows SMB Direct at 5.8 Gbytes/sec over Mellanox ConnectX-3 network adapters

内容は、SMB3.0を使用したネットワーク越しでの高速転送技術について。

SMBサーバ側はFusionIO ioDrive2(単独で1.5Gbytes/sec)を4枚並べてストライプ。
そこに、高速ネットワークを使って別のサーバからアクセスして、どれくらいの速度がでるか、というもの。

上記の様な状態で、IO benchmarkを測定すると、以下の様な感じとなる。

テスト内容 サーバ ローカル 10Gbps Ethernet 32Gbps Infiniband 54Gbps Infiniband
512KB IO/8スレッド/8 outstanding
バンド幅 5808MB/sec 1129MB/sec 3754MB/sec 5792MB/sec
IOPS(512KB/sec IOs/sec 11616 IOPS 2259 IOPS 3754 IOPS 11565 IOPS
CPU負荷 ~6.6% ~9.8% ~3.5% ~4.8%
8KB IO/16スレッド/16 outstanding
バンド幅 5103MB/sec 571MB/sec 2620MB/sec 2683MB/sec
IOPS(512KB/sec IOs/sec 525225 IOPS 73160 IOPS 335446 IOPS 343388 IOPS
CPU負荷 ~90.4% ~21.0%
(転送できてないので暇)
~85.9% ~84.7%

( 検証環境の構築手順: Deploying Windows Server 2012 Beta with SMB Direct (SMB over RDMA) and the Mellanox ConnectX-2/ConnectX-3 using InfiniBand – Step by Step )

ま、単純に10Gbps < 32Gbps < 54Gbpsの差、と見ることもできるけど、 512KB IO時のCPU負荷が10Gbpsより低い、というのは、注目ポイントかもしれない。 なぜ、その様なことが発生するのか? それは、Infinibandを使用するSMB 3.0では、RDMAという技術を利用しているから、である。 RDMAは「Remote Direct Memory Access Protocol」の略で、Infiniband環境下では当たり前のように使用されている技術である。 参考文献1:SMB Advanced Networking for Fault Tolerance and Performance
これの5ページ~10ページに詳細が書かれているが、ようはプロトコルオーバーヘッドが少ないから、ということになるのだが、ちょっとここの説明だと理解しづらい。

参考文献2:SMB 2.2. over RDMA

参考文献2を見ると、SMB over RDMA自体はSMB 2.2からサポートしているらしい。
RDMAがなぜ早いのか?という仕組みの説明としてはこちらの19ページと20ページの図がわかりやすい。
実際のデータ転送部分に関しては、直接サーバ上のメモリを参照してもらう、ということで、高速化を図っている、という感じである。

SMB3.0での改善点は他にもあり、上記の参考文献1の11ページ~18ページでは、「SMB Multichannel」という技術の話がされている。
これは、高速転送時、いままでのSMB実装では、1つの転送に対して使用できるCPU coreは1つしかなかったので、CPU coreが頭打ちになると、それ以上は帯域や他のCPU coreが空いていてもそれ以上は早くならない、という問題がある。(参考文献1 13ページ)
それを複数のCPU coreで処理を担当できるようにする、というのがSMB Multichannel。
SMB Multichannelにより複数NICを使った場合の分散処理もかなり改善される。

(訂正: 参考文献3 SMB 2.2: Bigger, Faster, Scalier (Part 1)を見るとSMB 2.2からあるようだ)

参考文献4 The basics of SMB Multichannel, a feature of Windows Server 2012 and SMB 3.0
という記事があがり、Multichannelとかの機能について解説されている。