devices macos ffmpeg streaming webcam

macos - devices - ffmpeg webcam



Webcam transmitiendo desde Mac usando FFmpeg (2)

Quiero transmitir mi webcam desde Mac usando FFmpeg.

Primero revisé los dispositivos compatibles usando ffmpeg -f avfoundation -list_devices true -i ""

Salida:

[AVFoundation input device @ 0x7fdf1bd03000] AVFoundation video devices: [AVFoundation input device @ 0x7fdf1bd03000] [0] USB 2.0 Camera #2 [AVFoundation input device @ 0x7fdf1bd03000] [1] FaceTime HD Camera [AVFoundation input device @ 0x7fdf1bd03000] [2] Capture screen 0 [AVFoundation input device @ 0x7fdf1bd03000] [3] Capture screen 1 [AVFoundation input device @ 0x7fdf1bd03000] AVFoundation audio devices: [AVFoundation input device @ 0x7fdf1bd03000] [0] Built-in Microphone

El dispositivo [0] es la cámara web que quiero usar.

Luego traté de capturar la cámara web usando ffmpeg -f avfoundation -i "0" out.mpg

Salida:

[avfoundation @ 0x7fe7f3810600] Selected framerate (29.970030) is not supported by the device [avfoundation @ 0x7fe7f3810600] Supported modes: [avfoundation @ 0x7fe7f3810600] 320x240@[120.101366 120.101366]fps [avfoundation @ 0x7fe7f3810600] 640x480@[120.101366 120.101366]fps [avfoundation @ 0x7fe7f3810600] 800x600@[60.000240 60.000240]fps [avfoundation @ 0x7fe7f3810600] 1024x768@[30.000030 30.000030]fps [avfoundation @ 0x7fe7f3810600] 1280x720@[60.000240 60.000240]fps [avfoundation @ 0x7fe7f3810600] 1280x1024@[30.000030 30.000030]fps [avfoundation @ 0x7fe7f3810600] 1920x1080@[30.000030 30.000030]fps [avfoundation @ 0x7fe7f3810600] 320x240@[30.000030 30.000030]fps [avfoundation @ 0x7fe7f3810600] 640x480@[30.000030 30.000030]fps [avfoundation @ 0x7fe7f3810600] 800x600@[20.000000 20.000000]fps [avfoundation @ 0x7fe7f3810600] 1024x768@[6.000002 6.000002]fps 0: Input/output error

Después de eso, intenté transmitir esta cámara web desde mi Mac usando ffmpeg -f avfoundation -framerate 30 -i "0" -f mpeg1video -b 200k -r 30 -vf scale=1920:1080 http://127.0.0.1:8082/

Salida:

[avfoundation @ 0x7f8515012800] An error occurred: The activeVideoMinFrameDuration passed is not supported by the device. Use -activeFormat.videoSupportedFrameRateRanges to discover valid ranges.0: Input/output error

No puedo capturar o transmitir esta cámara web. Sin embargo, cuando usé la cámara Facetime en lugar de esta cámara web, todo estaba bien. He estado buscando este problema por unos días, pero todavía no puedo solucionarlo. ¿Alguien tiene experiencia con webcam y FFmpeg en Mac?


''-framerate'' es necesario

puedes intentarlo

ffmpeg -f avfoundation -framerate 30 -i "0" -target pal-vcd ./test.mpg


Experimenté el mismo problema al tratar de transmitir una cámara web Logitech C920 donde la transmisión de la cámara FaceTime integrada funciona bien.

Descubrí que al reducir la velocidad de cuadros, el mensaje de error que informaba se detuvo. Aquí está el comando que solía hacer funcionar mi cámara web (donde el mismo comando con una velocidad de fotogramas de 30 no funcionaba).

ffmpeg -f avfoundation -framerate 10 -pixel_format yuyv422 -i "0" out.avi

A partir de los formatos de video que admite su cámara web, parece que el siguiente comando podría funcionar. Aunque como no tengo la misma cámara web, es posible que esto no resuelva tu problema.

ffmpeg -f avfoundation -framerate 6 -i "0" -target pal-vcd test.mpg

Espero que esto te ayude a encontrar una solución.