同期は常に私を魅了しています。つまり、メディアプレーヤーで.tsを同期して見ることができるのはなぜですか。同期していません。オーディオ/ビデオ同期、TS MPEG2;ハンドブレーキのPTSを理解するH264/AVC
私はこれを理解しようとしており、それを防ぐために何ができるのですか?
私は、次の読んだ: https://trac.handbrake.fr/wiki/LibHandBrakeSync をして(wikiにも利用可能)sync.cのソース
BitStreamToolsも被写体に理論101を書かれている(しかし、私のようにリンクすることはできません私はPCR/PTSの理解が(概念的に)正しいと思っていましたが、ハンドブレーキの優れたA/Vシンク紙には苦労しています。
私の質問は次のとおりです。a/v同期の説明がやや直感的です(短くても短くても長くてもかまいません)。オーディオやビデオのptsが破損している場合(不連続性?)、PTRをPCRから再計算できることはわかっていますが、ハンドブレーキはこれに依存しているようには見えませんが、内部PTSです。 0, + = 1/fps(〜= 5)、10,15、...
ptsオフセットを再計算し、すべてのオーディオおよびビデオPTS値を固定することによって.ts(バイナリ)を修正することは可能でしょうか? (そして、同じオフセットを持つすべてのDTSを歪めるので、プレイヤーは「フレームが足りなくなる」というわけではありません)、したがって分離された.tsを持つことができ、分離されたトラックは同期します一緒に戻って)?
EDIT: または、与えられた.tsのすべてのPTS値を再計算するためにPCRを使用して修正することはできませんか?私は、一部のフレーム/オーディオがブロードキャストで破損して正しく表示できないことを理解していますが、これを処理しておきます(破損したビデオを削除し、対応するオーディオ部分を持っています。オーディオパッケージが破損しているなど)、後で議論のために、すべてのフレームが損なわれていないと仮定します。 (しかし、その後PTS値は常にけれども、または何が正しいのでしょうか?)
付録: ハンドブレーキA/Vの紙の上で私のテイクがこれです:100を「期待」で 、(ビデオPTSのように計算されたオフセット100) - オーディオpts(0) - オーディオを同じプレゼンテーション時間まで持って来るように、99のptsオフセットを与える内部PTS、105でオフセットは105-5 = 100、99ではないが、 (100-99 = 1. 1/fps < 100ms)、再計算する必要がないので、オフセットとして99を使用することができます。 150で、ビデオのポイントが減少しているので、オフセットが再び計算されます。
私はこれについて完全に間違っていますが、誰かが正しい方向に私を向けることができます、お願いします?
- ジョシュ
このチュートリアルはかなり良いです。私はまだそれがすべてのざらめきの細部とそうであるようにそれを置く何かを見つけることがありません。 –