v4l2-probleme mit in H.264 codierter webcam

3080
mashrur

Ich versuche, ein H.264-Webcam-Videofeed über WLAN an einen anderen Computer mit gstreamer zu senden. Ich benutze dieses Tutorial als Leitfaden. Ich verwende ein Creative Live! Cam HD als meine Webcam verbinden. Die Website behauptet, dass die Webcam einen H.264-Encoder an Bord hat. Wenn ich jedoch v4l2-ctl verwende, bekomme ich Folgendes:

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

Wenn ich jedoch das Flag --all verwende, bekomme ich ein anderes Pixelformat.

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 ... 

Ich bin nicht sicher, warum ich zwei verschiedene Pixelformate (MJPG und YUYV) bekomme, aber ich hatte erwartet, Pixelformat zu sehen: 'H264' (komprimiert) wie in dem Tutorial, mit dem ich verlinkt habe.

Ich verwende Ubuntu 12.1 mit der Kernel-Version 3.5.0. Hat jemand eine Idee, was meine Probleme sind? Ich möchte anstelle von MJPG H.264 verwenden, um Bandbreite zu sparen. Irgendwelche Ideen, warum es H.264 nicht erkennt? Vielen Dank.

1

2 Antworten auf die Frage

0
ShakMan

Ich denke, das Problem könnte sein, dass Creative Live! Connect HD Cam unterstützt nur UVC1.1, die ziemlich veraltet ist. Vielleicht erkennt der V4l2-Treiber es nicht. Siehe Wikipedia-Eintrag für native h.264-unterstützte Webcams

Ich versuche sowohl das Creative Live! Cam Connect HD und das Creative Live! Cam Connect HD 1080, und ich sehe dasselbe wie Mashrur. Die Meldung von uvcvideo zum Verbindungszeitpunkt besagt, dass es sich bei dem Gerät um ein UVC * 1.0 * -Gerät handelt (nicht um UVC 1.1). Dies könnte die Schwierigkeit verursachen; angeblich wurde H264 in UVC 1.1 eingeführt. Jeffrey Scofield vor 9 Jahren 0
-1
genuine sudo

Zwei verschiedene Pixelformate (MJPG und YUYV) zeigen, dass die Kamera diese Formate unterstützen kann. MPEG für verschlüsselte Pakete (normalerweise zum Senden über das Netzwerk an den Empfänger) und YUYV für RAW-Bilder (unkomprimiert), die normalerweise für die lokale Vorschau verwendet werden. Sie können jedoch H.264 in VIDIOC_S_FMT verwenden, um einen H.264-codierten Stream zu erhalten.

Könnten Sie einen Link oder Informationen zur Verfügung stellen, wie dies zu tun ist? Silver Quettier vor 11 Jahren 0