miércoles, 8 de junio de 2011

Comprendiendo el funcionamiento de ffmpeg.

En este post veremos comprenderemos el funcionamiento de ffmpeg.

  1. Integrando una opcion a ffmpeg (parametros)
1. Integrando una opcion a ffmpeg (parametro)

Si abrimos el fichero ffmpeg.c,y buscamos una linea qué ponga lo siguiente:

static const OptionDef options[]

Veremos qué lo qué hay dentro es un arreglo qué se compone de lo siguiente:

primera posicion: opcion del programa ( alias del comando qué se tecleara para reconocer al metodo qué se ejecutara al pasar el parametro a ffmpeg ).

segunda opcion:en la segunda posicion especificamos el tipo de parametro qué especificaremos como argumento dentro del parametro ( en el caso de qué se haya especificado qué es un argumento ) (HAS_ARG).

tercer parametro:Definicion de lo qué realiza el metodo o funcion qué se vaya a pasar en el arreglo.

Vemos un ejemplo:
{ "f", HAS_ARG, {(void*)opt_format}, "force format", "fmt" },

Vemos qué se declara en la primera posicion de larreglo "f", qué sera el parametro el comando qué pasemos osease:

ffmpeg -f

HAS_ARG = se especifica qué debe de ser un argumento.

(void*)opt_format = Se especifica qué el metodo opt_format, se debe usar cuando se llame a -f es decir a ffmpeg -f (parametro ) para forzar qué se utiliza un formato a la hora de realizar la conversion a un formato distinto, osease:

opt_format("format");

Y por ultimo en la ultima posicion del arreglo, se pasa la descripcion de lo qué va a hacer determinada funcion.

Si nosotros probaramos a modfiicar ffmpeg de la siguiente manera declarando un metodo simple como este:

void hello_ffmpeg()
{
printf("%s","Hello ffmpeg!\n");
};

Y dentro de OptionsDef pusieramos esto:

Vemos un ejemplo:
{ "hellof", HAS_ARG, {(void*)hello_ffmpeg}, "hello ffmpeg!", "" },


Output:

Hello ffmpeg!

al ejecutar:

ffmpeg -hellof

Compilacion y testing:

En el primer post se explica como compilar ffmpeg, si ya habeis configurado vuestro ffmpeg con las opciones por defecto, simplemente teneis qué añadir.

make
make install



Saludos


No hay comentarios:

Publicar un comentario