2008/01/21 ■ 格安チューナ UOT-100まとめ Xでつぶやくこのエントリーをブックマークに追加このエントリーを含むはてなブックマーク

と、ちまちま解析したりしていたのを公開するぞと決めたので
とりあえず現状わかっていることを簡単にまとめてみる。

【格安チューナUOT-100現状まとめ】

・韓国製格安チューナ。最安値はたぶんあきばお~通販(2780円。店頭だと2800円)。他のショップでも3800円くらいで超安いチューナーといえよう。
倒産してしまったSEAGRAND製。数ヶ月前に膨大な数の倒産処分?があったようで一気に格安で流通した。…という経緯のシロモノなので、2008年1月現在流通在庫を残すのみだと思われる。ただ結構な量流通はしている。
・感度はぶっちゃけ悪い。付属ソフトもあまり使い勝手は良くはない。(でも付属ソフトは使う気Nothingなので無問題)


【技術的な話・チューナ編】

・マイコンはSilicon LaboratoriesのC8051F342。チューナはAnalog DevicesのMTV211
SnoopyProでUSBの通信を覗いてみたら、単にPCからは生のチューナ制御コマンドを投げて、チューナからは生のTSデータを受け取っているだけ風
・どれどれと思ってドライバ見たら、なんてこった!付属CD-ROMのUSBドライバ、USBXpressの標準ドライバそのものじゃんか!(笑)
・ためしにUSBXPressのSDK使って、USBXpressのAPIをそのまま素で叩いてみたら、なんてこった!あっさり生TSデータがそのまま取れたぞ!(笑)標準添付のドライバを生かしたまま(標準アプリ起動すればすぐテレビは見られる)生TSデータ録画アプリが作れるじゃんかw
・他社ワンセグチューナではさすがにそこまでの手抜きは無いようで、どこも独自のUSBドライバ作ってるみたい。ある意味UOT-100はFriio並の神チューナーの予感w
・しかし「多局同時全時間録画」を実現するためには、「複数端末の同時使用」が必須。これがどうにもうまくいかない。チューナ2本差してもSI_GetNumDevicesで1って言われちゃう。なんで?
・→どうやらSerial Numberが全部「1234」固定になっているのがいかん模様(どんな手抜きだよ!)。→しょうがない、じゃあ書き換えよう。
・UOT-100の基板上に、C8051の書き換えに必要なC2 Interfaceがパッドで出てるみたい。とりあえずGND/C2D/C2CKの3本繋げばフラッシュの読み書き可能だった。パッドとピンの関係は基板見れば一目でわかる(上記写真参考)
・Serial Numberを端末ごとに変えてみたら、案の定SI_GetNumDevicesで2以上の値を返すようになった。けど、複数端末を同時にSI_Openしようとすると2台目以降がエラーになる。
・→PIDも変更して「別のデバイス」だと認識させると複数端末同時Openできるみたいなので、PIDも端末ごとに変更することにする。行儀悪いけど。
・Serial Number/PIDともにC8051の0x1000~0x11FFのブロックにあります。Serial Numberが0x111F~0x1124(Unicodeテキスト)、VIDが0x10DD~0x10DE、PIDが0x10DF~0x10E0。

【技術的な話・放送編】

・だいたいどの放送局もTOT(Time Offset Table)パケットという時刻情報を5秒ごとに送信しているみたいなので、その時刻情報をベースに番組の切り出しとかをやればよさそう
・でも電波の状態が悪いと結構化ける ^^; CRCチェックは忘れずに
・ワンセグには(通常の放送では必須の)PAT(Program Association Table)やPMT(Program Map Table)が無い??(よくわかってない)
・↑そのため既存のffmpegやMP4BoxといったDemuxerが使えなくて困ってたりする。XMuxerではDemuxできる
・ワンセグのTSからDemuxしたH.264とAAC(HE-AAC)を、そのままMP4BoxでMP4ファイルにMuxしたファイルは…
 →Flash9のH.264ストリーミング再生→できた!
 →PS3で再生→できた!
 →PSPで再生→一瞬できたけど止まってしまった(´・ω・`)要研究