x264 x264_encoder_encode を使用してオンザフライでエンコーディングから生成された生の h264 NALU を送信するアプリケーションがあります。プレーン TCP を介して取得しているため、フレームが欠落していません。Windows のハードウェア アクセラレーション (DXVA2) を使用して、クライアントでこのようなストリームをデコードできる必要があります。FFMPEGを使用してこれを機能させる方法を見つけるのに苦労しています。Media Foundation や DirectShow を試す方が簡単かもしれませんが、生の H264 は使用できません。次のいずれかが必要です。
サーバー アプリケーションのコードを変更して、mp4 ストリームを返します。私はx264の経験がありません。x264_encoder_encode を呼び出すことで生の H264 を取得できました。次の質問への回答に従ってください: x264 C API を使用して一連の画像を H264 にエンコードする方法は? リアルタイムでストリーミングしながら、これから MP4 でラップされたものに移行するにはどうすればよいですか?
レシーバーでmp4ヘッダーでラップし、DXVAを使用して再生できるものにフィードできます。私はこれを行う方法を知りません
FFMPEG を使用した DXVA など、生の形式で取得する別の方法を使用して、高速化する別の方法を見つけることができました。
重要な制限は、デコードされた各フレームを表示する前に前処理できるようにする必要があることです。単一のステップでデコードと表示を行うソリューションは、私にとってはうまくいきません
どちらのソリューションでも問題ありません