2016-06-22 5 views
4

Я хочу передать свою веб-камеру с Mac с помощью FFmpeg.Веб-камера с Mac с помощью FFmpeg

Сначала я проверил поддерживаемые устройства, использующие ffmpeg -f avfoundation -list_devices true -i ""

Выход:

[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 

Устройство [0] является веб-камера, я хочу использовать.


Затем я попытался захватить веб-камеры с помощью ffmpeg -f avfoundation -i "0" out.mpg

Выход:

[avfoundation @ 0x7fe7f3810600] Selected framerate (29.970030) is not supported by the device 
[avfoundation @ 0x7fe7f3810600] Supported modes: 
[avfoundation @ 0x7fe7f3810600] [email protected][120.101366 120.101366]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][120.101366 120.101366]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][60.000240 60.000240]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][30.000030 30.000030]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][60.000240 60.000240]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][30.000030 30.000030]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][30.000030 30.000030]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][30.000030 30.000030]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][30.000030 30.000030]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][20.000000 20.000000]fps 
[avfoundation @ 0x7fe7f3810600] [email protected][6.000002 6.000002]fps 
0: Input/output error 

После этого я попытался течению, это веб-камера с моего Mac с помощью ffmpeg -f avfoundation -framerate 30 -i "0" -f mpeg1video -b 200k -r 30 -vf scale=1920:1080 http://127.0.0.1:8082/

Выход :

[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 

Я не могу захватить или поток этой веб-камеры. Однако, когда я использовал камеру Facetime вместо этой веб-камеры, все было в порядке. Я искал эту проблему в течение нескольких дней, но по-прежнему не могу ее исправить. Есть ли у кого-нибудь опыт работы с веб-камерой и FFmpeg на Mac?

+0

Вы считаете, что читаете ошибку на выходе? ... она сообщает вам, что не так –

+0

Да, я искал эту ошибку, но не нашел никакого решения. – Galaxy

ответ

3

«-framerate» требуется

вы можете попробовать

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

+0

Это работает от Терминала, но не моего приложения для какао – Swati

+0

никаких предложений о том, что делать – Swati

0

я испытал те же проблемы, пытаясь поток веб-камера Logitech C920, где потоковое встроенный FaceTime камера работает отлично ,

Я обнаружил, что уменьшение частоты кадров остановило сообщение об ошибке, о котором вы сообщали. Вот команда, которую я использовал для работы моей веб-камеры (где та же команда с частотой кадров 30 не работала).

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

Из видеоформатов, поддерживаемых вашей веб-камерой, похоже, что следующая команда может работать. Хотя, поскольку у меня нет такой же веб-камеры, это может не решить вашу проблему.

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

Надеюсь, это поможет вам найти решение.

Смежные вопросы