復活のHT-03A2010/07/11 21:00

とは言いながら、HT-03Aはいままでもそこそこ使っていて、むしろこのブログ自体が久しぶりすぎるとゆーか。
ソニーが嫌いだとかなんだかんだあったのだけど、結局Xperiaに機種変してしまいました。具体的に何を期待してたというのはなくて、まあ突発的な物欲です。ああ、違約金が痛い。
それでしばらく使ってみたけど、HT-03Aと比較して、やはり自分向きとはいいがたい。タッチスクリーンが大きくなって今までは片手で操作できたのが両手を使わなきゃならないとか、画面の動きが気持ち悪い(最初もたつく->加速->減速となる。もたつくのは意図してのことではないだろう)とか、電池の減りがすさまじいとか。
まあ、いいところもある。録画したビデオを見るにはいいし、ヘッドフォンプラグもついている。・・・でもそれくらいかも。Androidのバージョンアップには追いついていないものなあ。

そんなとき、何気に技術評論社のホームページを読んでいたら、HT-03Aではroot権限を乗っ取って、自家製のシステムイメージがインストールできるという話を読む(あとで確認しようとしたら消えていた。公式的にはまずい情報なのかも)。しかも2.2"Froyo"までできているとかいないとか。世間では常識なのかもしれないけど、流行に弱いのよね・・・
やるべきことは、(1)1.6->1.5へのダウングレード、(2)root権限の取得、(3)カスタムイメージのインストール(カスタムROMって呼ぶのは違わないか?どうかんがえてもROMじゃない)。それぞれの手順は、ググればわかるし、自分が付け加えることは何もないので、省略。そうそう、Root取得でGoldcardというものを作るときに、Windowsのバイナリエディタを持ち出してきているけど、Linux/UNIXならばddでデバイスファイルに書いてやれば十分でした。
結論としては、2.2"Froyo"はまだ使えない/使いづらい。2.1がかなり安定しているので、しばらくはこれで遊ばせてもらおう。まずはライブ壁紙からかな。

いっそHT-03AをメインにしてXperiaをAV機としてしまいたいとこだけど、XperiaはSIMがないと何もできないというのがな・・・。使えないやつ。

TSファイルの分割2010/07/19 21:00

 「アナログしか見てないから関係ない、停波したら見なけりゃいいし」などと言っていたのに、地デジを使いまくるようになってしまった。理由は、例の"PT2"を(割高だったけど)手に入れたため。Linux上でも問題ない、というかむしろ使いやすいんじゃなかろうか?
電波強度の問題があってPT2で録画してからの視聴となる(ブースターは高いからなあ)ものの、PT2NASというものを導入したおかげで録画が手間になることはない。実際の視聴はTSファイルがそのまま使えるネットワークメディアプレーヤーを使用。早送りや巻き戻しに難があるけど、画質自体は無問題。

 さて。ところが、たまに視聴できないファイルがある。PT2の動作の問題で、実際の番組開始の20秒前(大抵はCM)から録画開始となっているのだが、このマージンを越えて再生することができないことがある。最後まで表示していた画面が固まったままになったり、画像は止まったままなのに音だけ聞こえたり。同じファイルをLinux上で再生しても、やはり同じ箇所で止まる。ためしに先頭部を適当に削除してみると、問題なく再生できる。
 これは番組が切り替わるときに解像度とかが変わるのに再生側が追随できていないのだろう。mencoderやffmpegでどう扱えばいいのかわからず、またTSファイルについて軽く調べたところわりと簡単にできそうなのでプログラムを組んでみることにした。

 参考にしたのは以下の資料。(リンクにするのもめんどくさい)
http://www.mpeg.co.jp/libraries/video_it/video_03.html
http://www.mpeg.co.jp/libraries/video_it/video_04.html
http://www.mpeg.co.jp/libraries/video_it/video_06.html
http://www.mpeg.co.jp/libraries/video_it/video_07.html
http://allegro.dtiblog.com/blog-entry-185.html
http://allegro.dtiblog.com/blog-entry-187.html
ただこの資料でも(PATの形式などで)どーもアバウトなところがあって、Wikipediaの方が参考になる箇所もあった。
http://en.wikipedia.org/wiki/Program_Specific_Information


 わかったのはおおまか次のようなこと。
  • TSファイル(MPEG2のトランスポートストリーム)は188バイトごとのパケットに分割される
  • パケットのヘッダ部にパケット識別子(PID)というものがある
  • PIDが0のパケットはPAT(Program Association Table) であり、ストリームに含まれている番組(プログラム)の一覧(PMTのPIDとして)をあらわす
  • PMT(Program Map Table)パケットには、その番組に含まれるデータのPID(映像とか音声とか)が入っている。
 手持ちのTSファイルをなめたところ、PATもPMDも(内容が変わらなくとも)何度も繰り返し現れる。放送を前提(つまりはエラーを前提)としての冗長化だから当然であるが。また、途中から再生できないファイルでは、PATやPMDの内容が途中で変わっていた。
 つまり、PATやPMDが変更するタイミングでファイルを分割してやれば、個々のファイルの再生には問題なくなるはず・・・。
 と、ここまで書いて疲れたので、続きはまた今度。