Альтернативы Video4Linux2 для захвата с веб-камеры (используя FFmpeg)

2113
Jodes

Я получаю (две чередующиеся) ошибки после этого руководства для потоковой передачи с Raspberry Pi . Есть ли какие-либо другие грабберы, кроме V4L2, с которыми я могу работать ffmpeg?

Или я мог бы попробовать другие настройки потоковой передачи? Я дал «движение», но это было очень резким и не мог получить больше, чем пару кадров в секунду при 160x120.

Я также попробовал VLC, но получил ошибку с этим. (Кое-что об ALSA - я предполагаю, потому что ни RPi, ни веб-камера не имеют микрофона или другого аудиовхода).

(И да, веб-камера работает с RPi, мне удалось просмотреть ее с помощью guvcview.)

Спасибо!

Редактировать 1 Насколько я могу судить, почти все (например, VLC, motion и т. Д.) Используют V4L2, так что, похоже, альтернатив нет.

Редактировать 2: Ниже приведена одна конфигурация, которую я использовал, и результаты . Теперь это третья проблема. Я не могу повторить два других сообщения об ошибках при запуске ffmpeg / server, который у меня был. Я запустил topи почти нет использования ЦП другими процессами. Вызывает беспокойство то, что веб-камера, кажется, всегда заставляет необработанный захват на 30 кадрах в секунду. В некоторых конфигурациях система справляется, но при низком FPS на выходе (как при движении), а в других случаях выдает ту или иную ошибку.

Команда:

ffserver -f ~/ffserver3.conf & ffmpeg -v verbose -r 1 -s 320x240 -f video4linux2 -i /dev/video0 http://localhost:8080/webcam.ffm 

ffserver3.conf:

Port 8080 BindAddress 0.0.0.0 MaxClients 10 MaxBandwidth 50000 NoDaemon  <Feed webcam.ffm> file /tmp/webcam.ffm FileMaxSize 10M </Feed>  <Stream webcam.mjpeg> Feed webcam.ffm Format mjpeg VideoSize 320x240 VideoFrameRate 1 VideoBitRate 50000 VideoQMin 1 VideoQMax 10 </Stream>  <Stream stat.html> Format status </Stream> 

Результат:

ffmpeg version N-51221-gdda04a5 Copyright (c) 2000-2013 the FFmpeg developers built on Mar 23 2013 02:21:23 with gcc 4.6 (Debian 4.6.3-12+rpi1) configuration: libavutil 52. 22.101 / 52. 22.101 libavcodec 55. 1.100 / 55. 1.100 libavformat 55. 0.100 / 55. 0.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 48.100 / 3. 48.100 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 [video4linux2,v4l2 @ 0x256c4b0] fd:3 capabilities:4000001 [video4linux2,v4l2 @ 0x256c4b0] The driver changed the time per frame from 1/1 to 1/30 ffserver version N-51221-gdda04a5 Copyright (c) 2000-2013 the FFmpeg developers built on Mar 23 2013 02:21:23 with gcc 4.6 (Debian 4.6.3-12+rpi1) configuration: libavutil 52. 22.101 / 52. 22.101 libavcodec 55. 1.100 / 55. 1.100 libavformat 55. 0.100 / 55. 0.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 48.100 / 3. 48.100 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 [video4linux2,v4l2 @ 0x256c4b0] ioctl(VIDIOC_DQBUF): Input/output error [video4linux2,v4l2 @ 0x256c4b0] Estimating duration from bitrate, this may be inaccurate Input #0, video4linux2,v4l2, from '/dev/video0': Duration: N/A, bitrate: 36864 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 36864 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc [http @ 0x256d3c0] HTTP error 503 Server too busy http://localhost:8080/webcam.ffm: Input/output error 
2
Какие ошибки вы получаете? Пожалуйста, опубликуйте команду ffmpeg, которую вы используете, и полный, неразрезанный вывод терминала. AFAIK, V4L2 - это единственный способ сделать то, что вы хотите, отладку почти наверняка будет легче, чем найти альтернативу. evilsoup 11 лет назад 1
Я знаю, что это старая ветка, но @jodes ты как-то это исправил? Я борюсь с той же проблемой. Ajith 9 лет назад 0
@ Аджи, боюсь нет Jodes 9 лет назад 0

1 ответ на вопрос

0
Futal

V4L2 Test Bench (пакет qv4l2) может помочь узнать параметры веб-камеры. Например, в нем перечислены возможные комбинации разрешения / частоты кадров.

Фиктивный драйвер Vivi (sudo modprobe vivi) может помочь определить, связана ли проблема с драйвером или с ffmpeg. Создает / dev / videoX, отображающий текстовую карточку (текстовый шаблон) с указанием текущих параметров.

Похожие вопросы