Всем привет!
Как я понял, человеческого описания работы с ffmpeg не существует? Приходится читать доки нагенеренные доксидженом и разнообразные форумы, чтобы «догадаться» что за чем вызывать и какие параметры ставить руками. Например, мне нужно кодировать поток в flv:
AVCodec* flvCodec = avcodec_find_encoder_by_name( "flv" );
if( flvCodec == NULL )
{
cerr << "flv codec not found" << endl;
}
AVCodecContext* flvCodecCtx = avcodec_alloc_context();
if( flvCodecCtx == NULL )
{
cerr << "flv codec ctx not alloc" << endl;
}
//вот тут нужно сделать "непонятное".
flvCodecCtx->pix_fmt = PIX_FMT_YUV420P;
//А непонятно оно потому, что "Initializes the AVCodecContext to use the given AVCodec".
if( 0 != avcodec_open(flvCodecCtx, flvCodec) )
{
cerr << "flv codec not open" << endl;
}
Или вот дальше делаю avcodec_encode_video(). А потом, я так понял, нужно хидеры flv'шные самому приклеить к этому буферу.
Собсна, вопрос в том, может, кто-нибудь натыкался на подробное описание работы с ffmpeg, где рассказано как читать/писать потоковое видео, какие преобразования нужно делать, а чего делать не следует?
UPD: Может, альтернативы какие существуют? Пусть даже обертки для ffmpeg, но с нормальным описанием?