es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo establecer el códec en la función avformat_open_input()?

Parte de mi comando se ve así:

ffmpeg -hide_banner -f avfoundation -framerate 30 -video_size 3840x2160 -c:v <some codec> -pix_fmt <some pixel format> -i "0" ...

Mi código en el que intento replicar esta parte del comando usando avlib se ve así:

AVDictionary* options = nullptr;
av_dict_set(&options, "framerate", "30", 0);
av_dict_set(&options, "video_size", "3840x2160", 0);
av_dict_set(&options, "pixel_format", <some pixel format>, 0);
av_dict_set(&options, "vcodec", <some codec>, 0);
int err = avformat_open_input(&ctx->formatContext, id.c_str(), iformat, &options);

Todas las opciones son aceptadas excepto “vcodec”.

¿Es posible especificar el códec de esta manera? Si es así, ¿qué opción debo usar?

También tengo que mencionar que si uso “pixfmt” en lugar de “pixelformat” esa opción también no es reconocida, así que he intentado con diferentes nombres como: “v:c”, “videocodec”… pero nada funciona y tampoco puedo encontrar nada en la documentación y fuente de ffmpeg.

Tags:  

Answer

  1. Avatar for davy.ai

    Es posible especificar el códec utilizando la función av_dict_set. La opción a usar es codec en lugar de vcodec. También se debe utilizar la opción pixel_format en lugar de pix_fmt.

Comments are closed.