日記書くの時間かかるからそれより作業優先してしまって書けてない。あと土日はなにもしたくない。
先々週は風邪引いて喉鼻がやられて一日休んだんだが、仕事は忙しかったので次の日からはだいぶ多めに働くはめに。 土日は死んでた。
先週も流れでだいぶ多めに働いた。土日は死んでた。今週も頑張って働きたい。
MPEG2-TSの読み込みを真面目に始めた。
本当は読み込みでなく、FLV→MPEG2-TSの詰め直しをしたいんだが、まず読み込んで中身把握しないと書き出すのは難しいので、読み込みをやってしまおう。
仕様書は無料で置いてあるんだがPSとTSがけっこうごっちゃになって書いてあるんでなかなかめんどくさい。とはいえ読む必要があるところは少なそうなので簡単。あと英語版のWikipediaが何気に詳しいので助かる。
ffmpegで書き出したm2tsファイルを読み込んでるんだが、Syncバイトの前に謎の4バイトが入ってたり、PATの前に謎のPID17のパケットがあって謎すぎる。仕様書にはなんとも書いてないので調べてったら、謎の4バイトはタイムスタンプで、DVDとかBluRayで使われるフォーマットらしい。ていうかm2tsはそれ用の拡張子らしい。まじかよ。PID17もそれっぽいやつでDVBのSDTとかいうテーブル?メタデータが入ってるようだ。確かにffmpegとかいう文字列が入ってるだけに見える。
まああんまり気にしなくてよさそうだからPATとPMTだけ解析できればいいのかね。pointer_fieldとかいうのに気付かずに迷ったが、それが分かってからはすんなり解析できた。 基本的にはPATとPMTが来たらあとビデオとオーディオのパケットがだらだら流れてくるだけだ。そりゃそうか。
しかし気になるのが、これPATとPMTの場所でぶった切ればどこからでも再生できるものなんだろうか? MPEG2-TSの用途としてはできるのが自然だろうけど、パケットの中身見てる感じだと最初のビデオのパケットにメタデータみたいなの入ってて、それ以降同じのは出現してるように見えない。やっぱある程度のパケットをヘッダとして保持しないとだめかなぁ。
あとビデオパケットの中身がよくわからんのでどこでぶった切っていいかよくわからん。たぶんNALユニットとかいう単位になってるんだよな(H.264だと)。それの中身に何入ってるかも調べないとなぁ。 ビデオパケットはまあNALユニットでいいんだろうけど、オーディオの構造はよくわからんし困ったもんだ。できれば中身あんまり知らんでもぶった切ったりくっつけたりできる構造になってると助かるが……。
なんにせよいろいろ調べる必要があるな。
そういやMPEG2-TS見てたらVC-1が入るようになってるので、WMVからの詰め直しもできるかなーと思ったけど、WMAは入らないので無理ぽそうだった。まあできたとしても再生してくれるプレイヤーがどんだけあんだ(特にWindows以外で)と考えるとWMVの再エンコは避けられないだろうな。