2
我在我的C++應用程序中使用ffmpeg代碼,並希望在那裏控制VIDEO的bit_rate參數。我嘗試在工作中改變它的值(通過ost-> st-> codec-> codec-> bit_rate),但是ffmpeg不希望改變它。 也許任何人都知道如何做到這一點?FFMPEG:視頻bit_rate的動態變化
任何想法?
我在我的C++應用程序中使用ffmpeg代碼,並希望在那裏控制VIDEO的bit_rate參數。我嘗試在工作中改變它的值(通過ost-> st-> codec-> codec-> bit_rate),但是ffmpeg不希望改變它。 也許任何人都知道如何做到這一點?FFMPEG:視頻bit_rate的動態變化
任何想法?
我已經試過這樣,它爲我工作。
avcodec_init();
avcodec_register_all();
codec = avcodec_find_encoder(CODEC_ID_H263);
c = avcodec_alloc_context();
picture= avcodec_alloc_frame();
c->bit_rate = bitrate;
c->width = w;
c->height = h;
c->time_base= (AVRational){1,framerate};
c->pix_fmt = PIX_FMT_YUV420P;
avcodec_close(c);
av_free(c);
謝謝,但它不適用於我。因爲該操作僅在啓動程序中使用(對於init)。因此,如果我在工作期間改變c-> bit_rate的值,編解碼器將忽略它。 – 2012-04-10 11:22:08
一旦你用特定的比特率初始化編解碼器,你必須重新初始化編解碼器以動態地改變比特率。 – 2012-04-10 11:34:56
我該怎麼做,ffmpeg有一些重新啓動的功能,或者我應該再次調用transcode_init()? – 2012-04-10 11:59:31