Сборка FFmpeg с V4L2

я хочу использовать ffmpeg для доступа к веб-камере. Я старался:

ffmpeg -f v4l2 -i /dev/video0 output.mp4

но я получаю сообщение об ошибке:

Unknown input format: 'v4l2'

аналогично и с video4linux2 вместо v4l2. Поэтому я предполагаю, что моя сборка ffmpeg отсутствует v4l2. Вижу, что есть опция configure --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 с некоторыми изменениями для включения специфических дешифраторов etc.

я понимаю, что libv4l2 может поставляться с пакетом Ubuntu libv4l-dev. Установка его с:

sudo apt-get install libv4l-dev

, похоже, не влияет на мою проблему. Я вижу /usr/lib/x86_64-linux-gnu/pkgconfig/libv4l2.pc, который, я думаю, файл, который мне нужен. Может быть, мне просто нужно указать ffmpeg/pkg-config на него в настройках? Нечто like:

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 - то есть?

хвост конфигурации.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

и компилируется нормально, но возвращается исходная ошибка of:

Unknown input format: 'v4l2'

при выполнении первой команды.

17
задан Jon G
14.04.2023 1:21 Количество просмотров материала 2826
Распечатать страницу

1 ответ

у меня была опция настроить --disable-indevs и пропустил опцию --enable-indev=v4l2. Добавление последнего позволяет моей сборке получить доступ к моей веб-камере.

1
отвечен Jon G 2023-04-15 09:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх