一部のコードを FFMPEG 0.8 から FFMPEG 1.2 に変換しています。メソッドの呼び出し中にエラーが発生しましたavcodec_open2()
:
Specified pixel format %s is invalid or not supported
私が使用する形式は次のとおりAV_PIX_FMT_RGB24
です。デフォルトで有効になっているはずですよね?
以下は私のコードです:
av_register_all();
codec = avcodec_find_encoder(AV_CODEC_ID_MPEG2VIDEO);
if(!codec)
{
throw SystemException("codec not found");
}
codecContext = avcodec_alloc_context3(codec);
codecContext->bit_rate = 200000;
codecContext->time_base.den = 1;
codecContext->time_base.num = 90000;
codecContext->gop_size = 8;
codecContext->pix_fmt = AV_PIX_FMT_RGB24;
_codecContext->width = 320
_codecContext->height = 240
if(avcodec_open2(_codecContext, _codec, NULL) < 0)
{
throw SystemException("Unable to open codec");
}