私は、Webカメラからキャプチャした画像をlibx264でエンコードされたmp4ファイルに書き込むために、C++ライブラリを使用しています。 エンコーディングは正常に動作していますが、開始時にバッファに40フレームを書き込みます。私がファイルを閉じると、これらのフレームはフラッシュされないので、約6秒のビデオは未書き込みのままです(カムは約6fpsです)。H264をFFMPEGでエンコードする際にバッファをダンプするにはどうすればよいですか?
だから私は呼んでいる:
out_size = libffmpeg::avcodec_encode_video(codecContext, data->VideoOutputBuffer,data->VideoOutputBufferSize, data->VideoFrame);
// if zero size, it means the image was buffered
if (out_size > 0)
{
//... write to file
}
私は、バッファに残っている画像にアクセスする方法を見ることはできません。何か案は?
I動かす#libffmpeg :: avcodec_flush_buffers(データ - > VideoStream->コーデック) - 私が間違っている用語を探していたようですループ、それは私のために動作しません、症状は、ディスクにデータをフラッシュしていません。 – Sean