4

mjpeg(圧縮)ビデオデータをmp4やaviなどのビデオコンテナに多重化する方法を探しています。(将来的にはオーディオも追加する必要があります)。プロジェクトの他の部分でもFFMPEGを使用しているので、可能であればそれらのライブラリを使用して実行したいと思います。私はコマンドラインFFMPEGの使用を探していません!私はffmpegで多重化の例を使用しようとしましたが、ビデオ情報を含む(非常に大きな).mjpegファイルしか作成できません。これは私が探しているものではありません。

例は大歓迎ですが、正しい方向へのポインタも機能します。

編集:yuvj422pストリームをjpeg画像に出力しましたが、これをmp4コンテナに入れたいと思います。ffmpegコマンドラインを使用すると、これは機能します。

ffmpeg -i yuvy%01d.jpg -vcodec mjpeg out.mp4

私は自分のコードでこれを直接行いたいです(もちろん最初にjpeg画像を作成することはありません)

4

2 に答える 2

3

I fixed it doing the following:

I used the muxing example and in stead of using the encode functions i just skipped it and directly loaded the JPEG data into the packet. To set up the OutputContext i used guess format functions and i set the codec to MJPEG. I changed the PTS data to a frame counter. since all frames are chronologic anyway.

于 2012-10-10T12:25:00.680 に答える
-2

3つの主要なステップ

  1. デコード ( avcodec_decode_video() を使用)
  2. 生のフレームを yuv420p 形式に変換します ( swscale() を使用)
  3. エンコード ( avcodec_encode_video() を使用)

必要に応じてサンプルコードを提供できます

于 2012-10-09T11:55:41.803 に答える