Windwso Phone アプリケーションで MediaElement を使用してストリーム ビデオを表示する必要があります。
H264形式のフレームと生のAACバイトを含むストリームをWebサービスから取得しています(奇妙ですが、パラメーターのみでffmpeg
解析できます)。-f ac3
そのため、ストリーム (オーディオまたはビデオ) の 1 つだけを再生しようとすると、うまく再生されます。しかし、両方を試すと問題が発生します。
たとえば、ビデオ サンプルをタイムスタンプなしでレポートし、オーディオをタイムスタンプ付きでレポートすると、ビデオは必要な速度の 3 倍から 5 倍速く再生されます。
MediaStreamSample msSamp = new MediaStreamSample(
_videoDesc,
vStream,
0,
vStream.Length,
0,
_emptySampleDict);
ReportGetSampleCompleted(msSamp);
私の Web サービスから、ビデオとオーディオ フレームの DTS と PTS を次の形式で取得します。
120665029179960
しかし、サンプル用に設定すると、オーディオ ストリームの再生が遅すぎて遅延が発生します。
タイムベースは90khzです。
それで、誰かがそれを解決する方法を教えてもらえますか? たぶん、サンプルの他のタイムスタンプを計算する必要がありますか? もしそうなら、道を教えてください。
ありがとう。