Compile ffmpeg en centeOS de 64 bits.

Instalación del software

(1).Instalación del sistema MinGW Microsoft

Descargue MSYS y extráigalo al directorio E:/ffmpeg64/msys.

Descargue MinGW-w64 en el directorio E:/ffmpeg64/msys/mingw64.

Inicie msys.bat, abra una terminal similar a Linux e importe las variables de entorno mingw64.

ruta de exportación "echo"=. :/local/bin:/mingw 64/bin:/bin 'gt;. Contorno

Fuente. Esquema

(2).Dispositivo SDL

Descargue SDL1.2.14 y extráigalo al directorio e:/ffmpeg 64/SDL-1.

Ingrese al directorio SDL-1.2.14 y ejecute:

. /configure-host = x86 _ 64-w64-mingw 32

Fabricación

Instalación

Durante el proceso de compilación, ocurrió el siguiente error:

Al observar el código fuente de SDL_dx5video.c, como se muestra en la siguiente figura, podemos ver que si la NONAMELESSUNION predefinida está habilitada, se hará referencia a las estructuras de u1 y u2 y se producirá el error anterior.

La solución es eliminar los símbolos predefinidos sin nombre.

Otra solución sencilla es sustituir la biblioteca SDL por SDL-1.2.15 o SDL-2.0.3. Dado que ffplay.c se implementa principalmente utilizando la interfaz SDL-1.2, si usa SDL-2.0.3, debe modificar el código fuente de ffplay.c. Por lo tanto, este artículo vuelve a compilar con SDL-1.2.15, genera la biblioteca SDL e instala SDL-65438.

El proceso de compilación se completa, pero se produce el siguiente error durante la instalación, que indica "El sistema no puede encontrar el archivo especificado", pero tanto /bin/install como sdl-config existen.

Después de consultar información relevante, encontramos que la causa del error puede ser que el terminal cometió un error al interpretar la ruta, como por ejemplo: /problem-with-ran lib- while-running-make- install-for-SDL-TD 3282130. html, cuando MinGW Msys y Cygmin existen al mismo tiempo, se producirán conflictos de ruta. En Cygmin, el directorio raíz "/" se interpreta como el directorio raíz del directorio actual, es decir, "E:/" interpretará "/bin/install" como "E:/install", lo que dará como resultado "The". El sistema no puede encontrar el archivo especificado." " error.

Solución: Modificar el Makefile y restablecer la ruta de instalación.

(3).Instalación de x264

Descarga x264 y extráelo al directorio E:/ffmpeg64/x264.

Ingrese al directorio x264 y ejecute:

. /configure-host = x86 _ 64-w64-Ming W32-enable-shared

Fabricación

Instalación

(4).Instalación FFmpeg

Descargue FFmpeg1.2 y extráigalo a E:/ffmpeg64/ffmpeg1.2.

Ingrese al directorio ffmpeg y ejecute:

Copiar el código

.

/configure-enable-GPL-enable-libx 264-enable-shared-enable-static-arch = x86 _ 64-extra-cflags = '-I/local/include-I/local/cross-tools/i386-mingw 32 /include/SDL '-extra-LD flags = '-L/local/lib-L/local/cross-tools/i386-mingw 32/lib '

Fabricación

Instalación

Copiar código

- extra-cflags se usa para especificar la ruta del archivo de encabezado y - extrac-ldflags se usa para especificar la ruta del archivo de la biblioteca.

Nota: asegúrese de especificar las rutas del archivo de encabezado y de la biblioteca de la biblioteca SDL y la biblioteca x264.

(5).Verificar la instalación

Verifique si la herramienta ffmpeg generada es ejecutable y use ffplay para reproducir el archivo de video para ver si se puede reproducir normalmente.

Verifique si la biblioteca dinámica generada y el programa ejecutable son de 64 bits y use dumpbin para ver la información de atributos de la biblioteca dinámica y el programa ejecutable.