2015/01/04

現象はわかったけど原因は調べていない・・・

11月ごろに録ったBS11なアニメのいくつかで思いっきり音ズレしていることが判明。

tssplitterでPMT毎に分けたtsファイルをDGIndex(mod)でaacを分離するとdelay -459msのものが出来上がります。
ts2aac -Bで分離すると-347msのものが出来上がります。
が、この二つ、実は0ms基準にすると500msほどずれています。
ということはどちらかが1GOP数え間違えているんではないかと思って追っていきました。
DGIndexで認識している最初のGOPが376byteというとても早い位置から始まるのがどうも怪しい気がするのです。

んで、ts2aacの認識しているGOPが1190980から始まっている(D2Vでは2GOP目)であることを確認し、現象はつかめました。
が、どうやって直したものか
・・・ts2aacのソースは持っていないからDGIndex側をいじるとか、1GOP削るとうまくいくとか。
というかDGIndexにaac分離をやらせるようにすればよいのですが、なんで今もts2aacでやってるんだっけな・・・
・・・いい加減DGIndexをやめてm2vに移行したほうがいいのかも・・・

もうちょっと模索してみます。

メモ:
・PTSはpresentation time stampの略で、90kHzの分解能を持つらしい。
・DGIndexはIフレームが存在するGOPのBフレーム部分にnullフレームを挿入するので、IフレームからBフレームの分だけ時間を調整してやる必要があるらしい。
D2Vの構造が1GOPごとだから?

仙石浩明の日記: 地デジ MPEG-2 TS の PCR/PTS/DTS ラップアラウンド (PCR Wrap-around) 問題を回避して ffmpeg で PS 変換できるようにしてみた
なんか面白そうなページを見つけました。
というか記事の題目が僕の興味をそそる物ばかり。
仙石浩明の日記: プログラマ 35歳 定年説
これなんかも納得できるものでした。

0 件のコメント:

コメントを投稿