AndroidおよびiOS端末の動画プレーヤーは、動画のエンコードレートでストリーミングコンテンツをデコードすることが分かります。 ビデオのエンコードと再生のレートには何か関係はありますか?つまり、通常の再生(x2、x0.5などの設定を使用しない)もエンコードレートで行われますか?動画プレーヤーの再生レート
そうでない場合、再生レートはどのように定義されますか?
ありがとうございます! よろしく、 ジョン
AndroidおよびiOS端末の動画プレーヤーは、動画のエンコードレートでストリーミングコンテンツをデコードすることが分かります。 ビデオのエンコードと再生のレートには何か関係はありますか?つまり、通常の再生(x2、x0.5などの設定を使用しない)もエンコードレートで行われますか?動画プレーヤーの再生レート
そうでない場合、再生レートはどのように定義されますか?
ありがとうございます! よろしく、 ジョン
私はあなたがこの文脈における符号化率によって何を意味するのか全くわからないんだけど、それはおそらく、ほとんどのビデオエンコーディングフォーマットは2時間の概念含まれていることを理解するのに役立ちます。
あなたには、いくつかの議論を見れば、あなたは、多くの場合、PTSとDTSが言及されて表示されます - これらは、デコードタイムスタンプと、AFのためのプレゼンテーションタイムスタンプですrame。
プレゼンテーションタイムスタンプは、理解しやすい単純なものです。これは、視聴者がビデオを意図した通りに見えるようにフレームを表示する必要がある時間です。
デコードタイムスタンプがある理由は、多くのエンコーダが参照フレームを取得し、これらのフレームに対して他のフレームをどのように変更するかによってフレームを圧縮するためです。これは、想像できるように、背景がかなり一定のままであるフレームのためにかなりの帯域幅を節約することができます。
参照フレームは、順方向と逆方向の両方にすることができます。つまり、フレーム 'X-3'と 'X + 3'のデルタを参照して、特定のフレーム 'X'を記述できます。
これは、フレームXを提示する必要があるときにビデオプレーヤがフレーム「X + 3」を有する必要があることを意味するので、フレームX + 3をデコードする必要がある時間は、それ。
ここでは、古典的なffmpegのチュートリアルでは良い記述があります:チュートリアルからhttp://dranger.com/ffmpeg/tutorial05.html
図は絵でそれを説明するのに役立ちます - Pフレームは参照フレームであり、Bフレームは、それらの差によって説明したものです基準フレームに:
PTS: 1 4 2 3 DTS: 1 2 3 4 Stream: I P B B
Iフレームが全画像であり、Pフレームは、前のIフレームに基づいて、デルタであり、Bフレームは、前の情報に依存しているデルタ次のフレーム。
視聴者は、上記の例では1,2,3,4のPTS時間の順番でビデオを見ますが、フレームはDTSの順にデコードする必要があります。それらをこの順番でストリームすることも意味があります。