v4l2 проблемы с веб-камерой, закодированной в H.264

3059
mashrur

Я пытаюсь отправить видео с веб-камеры H.264 через Wi-Fi на другой компьютер с помощью gstreamer. Я использую этот учебник в качестве руководства. Я использую Creative Live! Cam Connect HD в качестве моей веб-камеры. Сайт утверждает, что веб - камера имеет на борту H.264 кодер. Но когда я использовал v4l2-ctl, я получил следующее:

$ v4l2-ctl --list-formats ioctl: VIDIOC_ENUM_FMT ... Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : MJPEG 

Но когда я использую флаг --all, я получаю другой формат пикселей.

v4l2-ctl -d 1 --all Driver Info (not using libv4l2): Driver name : uvcvideo Card type : Live! Cam Connect HD VF0750 Bus info : usb-0000:00:14.0-1 Driver version: 3.5.7 Capabilities : 0x04000001 Video Capture Streaming Format Video Capture: Width/Height : 640/360 Pixel Format : 'YUYV' Field : None Bytes per Line: 1280 Size Image : 460800 Colorspace : SRGB ... 

Я не уверен, почему я получаю два разных формата пикселей (MJPG и YUYV), но я ожидал увидеть формат пикселей: «H264» (сжатый), как в учебнике, с которым я связан.

Я использую Ubuntu 12.1 с версией ядра 3.5.0. Кто-нибудь знает, какие у меня проблемы? Я хотел бы использовать H.264 вместо этого на MJPG, чтобы сэкономить на пропускной способности. Есть идеи, почему он не обнаруживает H.264? Благодарю.

1

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

0
ShakMan

Я думаю, что проблема может быть в том, что Creative Live! Connect HD cam поддерживает только UVC1.1, который довольно устарел; так что, возможно, драйвер V4l2 не распознает его. См. Статью Википедии о поддерживаемых веб-камерах, поддерживаемых h.264.

Я пробую как Creative Live! Cam Connect HD и Creative Live! Cam Connect HD 1080, и я вижу то же самое, что и mashrur. Сообщение от uvcvideo во время подключения говорит, что устройство является устройством UVC * 1.0 * (не UVC 1.1). Это может вызывать трудности; предположительно H264 была введена в UVC 1.1. Jeffrey Scofield 10 лет назад 0
-1
genuine sudo

Два разных формата пикселей (MJPG и YUYV) показывают, что камера может поддерживать эти форматы. MPEG для закодированных пакетов (обычно используется для отправки по сети на конец получателя) и YUYV для изображения RAW (без сжатия), который обычно используется для локального просмотра. Однако вы можете использовать H.264 в VIDIOC_S_FMT, чтобы получить кодированный поток H.264.

Не могли бы вы предоставить ссылку или информацию о том, как это сделать? Silver Quettier 11 лет назад 0