2
私のC++アプリケーションでffmpegコードを使用しており、そこにビデオのbit_rateパラメータを制御したいと考えています。仕事で値を変更しようとしましたが(ost-> st-> codec-> codec-> bit_rate)、ffmpegは変更したくありませんでした。 おそらく誰もそれを作る方法を知っていますか?FFMPEG:ビデオのビットレートのダイナミックな変更
アイデア?
私のC++アプリケーションでffmpegコードを使用しており、そこにビデオのbit_rateパラメータを制御したいと考えています。仕事で値を変更しようとしましたが(ost-> st-> codec-> codec-> bit_rate)、ffmpegは変更したくありませんでした。 おそらく誰もそれを作る方法を知っていますか?FFMPEG:ビデオのビットレートのダイナミックな変更
アイデア?
私はこれと私のために働いてみました。
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の値を変更すると、コーデックはそれを無視します。 –
特定のビットレートでコーデックを初期化すると、ビットレートを動的に変更するためにコーデックを再初期化する必要があります。 –
どうすればいいですか?ffmpegには再初期化のための関数がいくつかあります。もう一度transcode_init()を呼び出す必要がありますか? –