Uso de ffmpeg para transmitir hacia o desde la tarjeta Blackmagic Decklink

Quiero usar tarjetas blackmagic con ffmpeg para transmitir su entrada, pero hay un problema.

Cuando uso el codificador "H264 Pro" como entrada "decklink" o "dshow", veo este error en la salida de la línea de comando de ffmpeg. El dispositivo está bien y puedo usarlo con otras aplicaciones como MXPTiny o MXLight.

Aquí está el comando y la salida:

ffmpeg -f dshow -list_devices true -i dummy -hide_banner
[dshow @ 0000000004efa5a0] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000000004efa5a0]  "Integrated Webcam"
[dshow @ 0000000004efa5a0]     Alternative name "@device_pnp_\\?\usb#vid_0c45&pid_641d&mi_00#7&11c87d18&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000000004efa5a0]  "Decklink Video Capture"
[dshow @ 0000000004efa5a0]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{44A8B5C7-13B6-4211-BD40-35B629D9E6DF}"
[dshow @ 0000000004efa5a0] DirectShow audio devices
[dshow @ 0000000004efa5a0]  "Microphone (2- High Definition Audio Device)"
[dshow @ 0000000004efa5a0]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{11A03288-DE6D-4A21-A66E-DC9303E838FA}"
[dshow @ 0000000004efa5a0]  "Decklink Audio Capture"
[dshow @ 0000000004efa5a0]     Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{AAA22F7E-5AA0-49D9-8C8D-B52B1AA92EB7}"
dummy: Immediate exit requested

y cuando uso "Decklink Audio Capture" para identificar sus opciones, aquí está el resultado:

ffmpeg -f dshow -list_options true -i video="Decklink Video Capture" -hide_banner
[dshow @ 000000000388a660] Unable to BindToObject for Decklink Video Capture
[dshow @ 000000000388a660] Could not find video device with name [Decklink Video Capture] among source devices of type video.
video=Decklink Video Capture: Input/output error
¿Qué binario estás usando?
¿Lo intentaste con el UUID? ffmpeg -f dshow -list_options true -i video=@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{44A8B5C7-13B6-4211-BD40-35B629D9E6DF} Además, ¿estás seguro de que instalaste los controladores Blackmagic?
@Mulvya Usé compilaciones estáticas que se pueden descargar en el enlace . @ Gergely Lukacsy Probé UUID de dispositivos y el resultado es el mismo. ¡También instalé unidades Blackmagic porque puedo usar MXPTiny como mencioné en mi pregunta!

Respuestas (2)

Sé que esto es bastante antiguo, PERO por lo que sé de ffmpeg y Blackmagic Gear, tendrá que configurar sus opciones de entrada de acuerdo con el Stream que obtiene del codificador H-264.

Por lo tanto, debe decirle a ffmpeg que obtiene video codificado en H-264 y audio codificado en AAC, entonces debería funcionar.

Esto no es un problema con las tarjetas DeckLink, ya que emiten datos de video sin procesar. Podrías darle una oportunidad...

Hasta donde yo sé, no hay soporte directo para BM H264Pro en el dispositivo de entrada ffmpeg "decklink". Solo admiten tarjetas pci decklink con producción de video sin procesar. Primero debería recuperar la salida H264 de alguna manera y canalizarla a ffmpeg para su procesamiento y transcodificación.

Parece que Ffmpeg tiene un mecanismo de entrada dedicado para dispositivos decklink, ¿tal vez intentarlo?

https://www.ffmpeg.org/ffmpeg-devices.html#decklink

Sin embargo, parece que podría ser necesario volver a compilar Ffmpeg con soporte decklink.

También vea este hilo donde alguien menciona que necesita especificar adicionalmente el formato de entrada exacto ya que no parece ser detectado automáticamente: ffmpeg.zeranoe.com/forum/viewtopic.php?t=1126
Intentaré compilar la última versión de ffmpeg con compatibilidad con decklink, pero todas las versiones estáticas actuales tienen (admiten) esta opción ahora. También probé el enlace que mencionaste y había una versión compilada aquí, pero el resultado es el mismo que antes.