COMPILAR FFMPEG NUNCA FUE TAN FÁCIL
Cómo muchos de vosotros ya sabéis ffmpeg para windows no tiene soporte para Blackmagic por un tema legal. Pero hay una forma de saltarnos esto y compilarnos nuestra propia build para windows con todos los extras.
Estos son los encargados de este proyecto que ha hecho que muchos profesionales podamos acceder a servicios que antes no podíamos mediante windows de forma nativa.
https://ffmpeg.zeranoe.com/builds/
https://github.com/rdp/ffmpeg-windows-build-helpers
https://notabug.org/RiCON/decklink-headers/src/master
PASOS A SEGUIR
Antes de nada debemos crear una máquina virtual con Linux para compilar el programa. En mi caso yo usé VirtualBox y UBUNTU 19.04.
Mi recomendación es que reviséis bien los comandos antes de lanzarlos ya que un error puede hacer que varias horas de trabajo se vayan a la basura.:
- sudo apt-get update
- sudo apt-get install subversion ragel curl texinfo g++ bison flex cvs yasm automake libtool autoconf gcc cmake git make pkg-config zlib1g-dev mercurial unzip pax nasm gperf autogen bzip2 autoconf-archive p7zip-full python3-distutils -y
- mkdir ffmpeg
- cd ffmpeg
- git clone https://github.com/rdp/ffmpeg-windows-build-helpers.git
- cd ffmpeg-windows-build-helpers
- sudo ./cross_compile_ffmpeg.sh –disable-nonfree=n
- cd /sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32/
Los archivos .exe están en la carpeta.:
home/tuUsuario/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32/
Por último hay que copiar los archivos .exe y llevarlos a la carpeta bin de la instalación de ffmpeg de Windows y ya está listo.
En este vídeo explico cómo hacerlo paso a paso.:
En próximos vídeos nos meteremos en FFMPEG de forma más profunda explicando la sintaxis, funciones y comandos.
COMANDOS BÁSICOS DE FFMPEG Y BLACKMAGIC
DEVUELVE UNA LISTA DE TARJETAS DECKLINK INSTALADAS.:
ffmpeg -f decklink -list_devices 1 -i dummy
SIN COMPRESIÓN:
ffmpeg -f decklink -i «DeckLink Mini Recorder (1)» -acodec copy -vcodec copy card1_f14_sdi.avi
COMPRESIÓN H264:
ffmpeg -f decklink -i «DeckLink Mini Recorder (1)» -pix_fmt yuv420p -c:v libx264 -crf 23 comprimido.mp4
CAPTURA, DESENTRELAZADO YADIF Y COMPRESIÓN MP4:
ffmpeg -f decklink -i «DeckLink Mini Recorder (1)» -vf yadif=1 -pix_fmt yuv420p -c:v libx264 comprimido-yadif-1.mp4
CAPTURA, DESENTRELAZADO YADIF Y COMPRESIÓN NVENC:
ffmpeg -f decklink -i «DeckLink Mini Recorder (1)» -vf yadif=1 -pix_fmt yuv420p -c:v h264_nvenc comprimido-yadif-nvenc.mp4
CAPTURA, DESENTRELAZADO YADIF, COMPRESIÓN NVENC MAIN:
ffmpeg -hwaccel cuvid -f decklink -i «DeckLink Mini Recorder (1)» -vf yadif=1 -pix_fmt yuv420p -c:v h264_nvenc -b:v 6000k comprimido-yadif-nvenc.mp4
CAPTURA, DESENTRELAZADO YADIF, COMPRESIÓN NVENC, CONVERTIR 50p to 60p medio bien:
ffmpeg -hwaccel cuvid -f decklink -i «DeckLink Mini Recorder (1)» -r 60 -vf yadif=1,fieldmatch -c:v h264_nvenc -pix_fmt yuv422p -b:v 16000k comprimido-yadif-nvenc.mp4
STREAMING, DESENTRELAZADO YADIF, COMPRESIÓN NVENC:
ffmpeg -f decklink -i «DeckLink Mini Recorder (1)» -r 50 -vf yadif=1 -c:v h264_nvenc -pix_fmt yuv420p -b:v 6000k -f flv rtmp://tu-dirección-rtmp
Hola, pues no sé qué estaré haciendo mal. he seguido todos los pasos concienzudamente, todo sale como OK pero en la carpeta «sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32/» hay multitud de archivos exe salvo el ffmpeg.exe.
Si pongo un ffmpeg de la web https://ffmpeg.zeranoe.com/builds/, aunque en la carpeta BIN estén todos los archivos que he copiado del Linux no funciona, por ejemplo si ejecuto «ffmpeg -f decklink -list_devices 1 -i dummy» me dice «Unknown input format: ‘decklink'»