«前の日(04-01) 最新 次の日(04-03)» 追記

ぱぱネット(仮)


2009-04-02 思い込みはよくないな

_ [ワンセグ野郎] 受信ストリームの保存方法

MobileHackerzさんのインデックス形式(YYMMDDhh_Chnn.idx)が デファクトとなっている。内部はARIB TR-B14 TOT JST_time(40bit) + ストリーム(YYMMDDhh_Chnn.ts)の先頭バイトオフセット(32bitまたは64bit)。これでシークできるようになってるわけね。

俺システムではdvbstreamの出力を上記の形式に変換するために、perlrtmp氏の OneSeg24 for Linuxに付属のrec.plを 使っていた。しかし見ての通りPerlなので、スクリプトでTSストリームのパースを 24時間やっているわけだ。しかも8ch分。

UNIXパイプの基本的な構造として、

# (プロセスA) | (プロセスB)

とつないだ時、プロセスBの処理が滞るとプロセスAも自動的に止められてしまう(ブロックI/O)。プロセスAがcatコマンドみたいな一時停止しても良いものであれば全く問題なく綺麗に動く。 しかし、Linuxワンセグ野郎の場合は、dvbstreamというUSBターゲットからDVB API経由でリアルタイムにストリーム読み出すコマンドなので、止められてバッファオーバーすると即座にアボンな訳だ。

AtomPCでやっていた時のパケットロスは、このCPUぶん回しに影響されているのでは という 仮説の元 、以前字幕解析用に作ったdumpeitにrec.plと同様の機能を 付け足してみた。当然Cネイティブ。

_ ベンチマーク

入力は2009年3月30日00:00:00〜2009年3月31日23:59:59までのNHK総合の総ストリーム8987488520バイト。

# cat /mnt/ts/090330/*_Ch27.ts /mnt/ts/090331/*_Ch27.ts |
  time perl rec.pl -h 27 -d /tmp/ts2
305.51user 97.31system 9:15.40elapsed 72%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (1major+14718minor)pagefaults 0swaps

Perlでは9分15秒 でした。

次は俺のプログラムdumpeit。

# cat /mnt/ts/090330/*_Ch27.ts /mnt/ts/090331/*_Ch27.ts |
  time ./dumpeit -h 27 -d /tmp/ts2
75.55user 102.14system 6:54.48elapsed 42%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (3major+5433minor)pagefaults 0swaps

Cネイティブでも6分54秒....たった3割減? 実際にはrec.plはファイルの分割だけ、 dumpeitはEITファイル(番組情報)とSUBファイル(字幕)をパースして生成するから、 dumpeitの方が遥かに重い処理ではあるがそれにしても....

_ ディスクI/Oかよ

仮説と異なる結果がでたので、試しに8GB分のファイルコピー(catリダイレクト)を測定する。

# cat /mnt/ts/090330/*_Ch27.ts /mnt/ts/090331/*_Ch27.ts |
  time cat > /tmp/ts2/test.ts
4.26user 115.42system 6:07.82elapsed 32%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+152minor)pagefaults 0swaps

遅せえ\(^o^)/

単なるコピーで6分7秒だと?! ということは 演算部分だけ抜き出せば4倍速 なわけだ(188秒vs47秒、字幕パースしてるにしては優秀でそ)。

_ [ワンセグ野郎] HDDは選びましょうとりあえず

しかし....もしかして....AtomからAthlon64X2に乗り換えて取りこぼさなくなったのは CPUじゃなくてHDDのせい だったかもしれないな...。

Atomは「WesternDigital WD Caviar Green WD10EADS(5400rpm)」Athlonの方は「日立 Deskstar 7K1000.B HDT721010SLA360 (7200rpm)」 なんだよ。 ワンセグはビットレートが低いとは言え、8ch分のストリームをリアルタイムにパースして個々のファイルに書き込んでいくわけだから処理自体がランダムアクセスの固まりみたいなもん。だからHDDはランダムが少しでも速い方が良いというわけだ。

が....perlrtmp氏はAtom+WD10EADSで見事に間に合っているわけだが....やっぱ俺の書いたLOG-J200チューナドライバがタコなせいかしら(笑)二人ではチューナ構成が全くちがうのだ。

論点がぼやけてきたけど、これからワンセグ野郎システムを組む人には7200rpmHDDをお薦めして筆をおくことにします。


2011-04-02 あいにくの薄曇り

_ [雑記] 高円寺ブラリ散策

高円寺といえばTwitter等極一部界隈で有名なライター津田(@tsuda)さんの庭らしい。ちょっと興味があったので今日のターゲットは高円寺。 花の寺めぐりもあわせてどうぞ。

_ [雑記] 駅ビルがなく商店街が発達

密度の濃い街ね。細い路地にこちゃこちゃーっと小さな店が連なってる。寿司屋がほんの100〜200mの間に3,4軒あるとかマジハンパねえっす。 駅ビルがないのはメリット だと感じる。

画像の説明

ちょっと歴史を感じさせる店も生き残ってたりするのがおもしろい。画像の説明画像の説明画像の説明

_ [雑記] 幸寿司

街のお寿司屋さんというかんじ。俺が入ったときにはカウンターには老夫婦2人しかいなかったのに、ガンガン地元の人が入ってきてアッと言う間に満席。私はお造りとカワハギ肝に特上寿司を頼む。

画像の説明画像の説明

そうだな....味や技法が死ぬほど極まっているわけじゃないけど、清潔な店内に、寡黙だが仕事が早い板さん。なかなか居心地のいい空間でした。

でもやっぱ支払いはけっこう逝ったわ(笑)まあここまで来て牛丼って訳にはいかないだろう。たまにはいいさ。


2001|04|
2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|03|04|05|10|

[BANNER]
このサーバーをもう12年も維持しているかと思うとめまいがしますよ。
ツッコミ機能は、ハンドル名が完全日本語じゃないと登録できません。
また、本文にURLが含まれていても登録できません。
いずれもSPAM対策です。
[Panda Papanda]
2001年
4月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

[Papanda]  [Kuma]  [Tomorin]  [Iron]  [Eiza]  [Dokkin]  [Honya]  [Zyou]  [Tsuyo]  [Bike]  [KoeBBS]  [Chukei]  [portal]  [tvmatome]  [KaoPaku] 

訪問者数:(11777+2560143)