I had the configure option --disable-indevs
and had missed the option --enable-indev=v4l2
. Adding the latter allows my build to access my webcam.
FFmpeg построить с V4L2
Я хочу использовать ffmpeg для доступа к своей веб-камере. Я старался:
ffmpeg -f v4l2 -i /dev/video0 output.mp4
но я получаю ошибку:
Unknown input format: 'v4l2'
Аналогично с video4linux2
вместо v4l2
. Поэтому я предполагаю, что моя сборка ffmpeg отсутствует v4l2
. Я вижу, что есть опция настройки --enable-libv4l2
( https://ffmpeg.org/ffmpeg-all.html#video4linux2_002c-v4l2 ). Я добавил это в свою конфигурацию, но при запуске configure я получаю:
ERROR: "libv4l2 not found using pkg-config"
Как мне добавить это в мою сборку? Я следую руководству по адресу https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu с некоторыми изменениями для включения определенных декодеров и т. Д.
Я понимаю, что libv4l2 может поставляться с пакетом Ubuntu libv4l-dev
. Устанавливаем его с помощью:
sudo apt-get install libv4l-dev
кажется, не влияет на мою проблему, хотя. Я вижу /usr/lib/x86_64-linux-gnu/pkgconfig/libv4l2.pc
, какой файл мне нужен. Может быть, мне просто нужно указать ffmpeg / pkg-config в настройках конфигурации? Что-то вроде:
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" ./configure ...
? (Не работает). Модифицировать --extra-cflags
или --extra-ldflags
указать включить / libs? Не могу заставить это работать тоже. Связанное руководство по сборке FFmpeg хранит все пакеты в каталоге ffmpeg_build в моей домашней папке. Должен ли я установить libv4l-dev
там как-нибудь?
Хвост config.log:
END /tmp/ffconf.5wdQhyZ1.c gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -I/home/jon/ffmpeg_build/include -std=c99 -fomit-frame-pointer -pthread -c -o /tmp/ffconf.LGU7tq3n.o /tmp/ffconf.5wdQhyZ1.c gcc -L/home/jon/ffmpeg_build/lib -Wl,--as-needed -Wl,-z,noexecstack -o /tmp/ffconf.Fhn6FivT /tmp/ffconf.LGU7tq3n.o -lv4l2 -lpthread -lv4lconvert -lrt -lm -ljpeg -lmp3lame -lfdk-aac -lm -lz -pthread /usr/bin/ld: cannot find -ljpeg collect2: error: ld returned 1 exit status ERROR: libv4l2 not found using pkg-config
Похоже, что отсутствует библиотека JPEG:
sudo apt-get install libjpeg-dev
и он компилируется нормально, но я вернулся к первоначальной ошибке:
Unknown input format: 'v4l2'
При запуске первой команды.
1 ответ на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
8
Ожидание ноутбука в Linux / Ubuntu
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
3
Могу ли я запустить Microsoft Office 2007 под Ubuntu?