gstreamer использует кодировку h264 с небольшим размером видео
Мне нужно записать видео, используя мою веб-камеру usb на моем ПК на базе Linux. Я нашел gstreamer с кодировкой h264 для снижения процента процессора. Но я новичок в gstreamer, поэтому у меня были ошибки при запуске какой-то команды gstreamer. Итак, кто-нибудь может сказать мне, как это сделать и дать мне правильную команду для gstreamer, используя ускорение кодирования h264. Заранее спасибо.
Используемая команда:
gst-launch-1.0 -v v4l2src device = / dev / video1! omxh264enc! qtmux! расположение файла files =test.mp4
Установка конвейера на PAUSED ... Конвейер активен и не нуждается в PREROLL ... Конфигурирование конвейера на PLAYING ... ОШИБКА: из элемента /GstPipeline:pipe0/GstV4l2Src:v4l2src0: Внутренняя ошибка потока данных. Дополнительная информация отладки: gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipe0/GstV4l2Src:v4l2src0: потоковая передача остановлена, причина не согласована (-4) Выполнение завершено после 0:00:00.000161565 Настройка конвейера для PAUSED ... Установка конвейера на ГОТОВ... Установка конвейера на НЕДЕЙСТВИТЕЛЬНЫЙ... Освобождение конвейера...
Спецификация камеры:
имя камеры: 3.0 USB Camera (Gearway Electronics (Dong Guan) Co., Ltd)
pixel_format: YUYV422 (30 кадров в секунду), MJPG (сжатый) (60 кадров в секунду)
driver_support: uvcvide0
разрешение_формат: 640x480, 1920x1080
Детали камеры от v4l2:
v4l2-ctl --info -d / dev / video2 --list-форматы
Информация о драйвере (без использования libv4l2):
Имя драйвера: uvcvideo
Card type : 3.0 USB Camera
Bus info : usb-70090000.xusb-1.2
Driver version: 4.9.140
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : Motion-JPEG
Index : 1
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUYV 4:2:2
1 ответ
Я полагаю, что вам не хватает элемента h264parse, который должен идти после кодировщика, перед мультиплексором.
gst-launch-1.0 -v v4l2src device=/dev/video1 ! omxh264enc ! h264parse ! qtmux ! filesink location=test.mp4
Также вам может понадобиться элемент видеоконвертации между элементами v4l2src и encoder.