2011-01-18 7 views
13

同期は常に私を魅了しています。つまり、メディアプレーヤーで.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で、ビデオのポイントが減少しているので、オフセットが再び計算されます。

私はこれについて完全に間違っていますが、誰かが正しい方向に私を向けることができます、お願いします?

  • ジョシュ

答えて

9

私は「どのように 1000未満株におけるビデオプレーヤーを書くこと」と呼ばれる非常に良いチュートリアルを見つけました。

This linkこの用語を説明するのはうまくいきます。

+3

このチュートリアルはかなり良いです。私はまだそれがすべてのざらめきの細部とそうであるようにそれを置く何かを見つけることがありません。 –

17

オーディオビデオ同期の概念ははるかに深いです。私が推薦する最初の読書は以下の論文です。

http://downloads.bbc.co.uk/rd/pubs/reports/1996-02.pdf

私はここですべてを繰り返すことはしません - しかし、本質的に、すべてのエンコーダは、各オーディオとビデオのタイムスタンプとスタンプを記録します。後でデコーダがそれを再生するとき、それは2つのことを行います - 1つは、デコーダのクロックがエンコーダのクロックで "拘束"されることを保証し、2つは、各ピクチャがスクリーン上に提示され、時間が発生します。これは、オーディオとビデオの同期を維持するための最良の方法です。これらのタイムスタンプは、90kHzクロックの分解能を有するPTS/DTS値と呼ばれる。

時間の経過とともにクロックが歪むことを理解していますが、正確な時刻のみが参照されるため、デコーダの再生は正確に同じ時間順に行われます。

今や大きな問題が残るのは、デコーダのクロックがエンコーダのクロックの制御/同期を維持する必要があることです。 MPEGで行われた最初のことは、27MHz(300倍高い)でより高い精度を使用していることです。さらに、これは、途中の伝送経路の間、一貫性を保つ必要があります。 (これはクロック回復プロセスと呼ばれます)。

次は、クロックリカバリ/同期プロセスの仕組みを説明する別の2つの優れた論文です。

https://www.soe.ucsc.edu/sites/default/files/technical-reports/UCSC-CRL-98-04.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.1016&rep=rep1&type=pdf

この最後の論文は非常にうまく一緒にすべてのものを置きます。
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.50.975&rep=rep1&type=pdf

覚えておいてください - PCR及びPTS/DTSベースのオーディオビデオの同期は、デジタルTV放送は非常に厳しいですし、インターネット・ストリーミングに使用される任意の他のストリーミング方法かけ離れで作るものです。これは、24時間365日ストリーミングを機能させるためには不可欠です。

+0

2番目のリンクが死んでいます。 – pockethook