Problemy z v4l2 z kamerą internetową zakodowaną do H.264

1

Próbuję wysłać obraz wideo kamery internetowej H.264 przez sieć Wi-Fi do innego komputera za pomocą programu gstreamer. Używam tego seminarium jako przewodnik. Używam Creative Live! Cam Connect HD jako moja kamera internetowa. The stronie internetowej twierdzi, że kamera internetowa ma wbudowany koder H.264. Ale kiedy użyłem v4l2-ctl, otrzymuję następujące informacje:

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

Ale kiedy używam flagi --all, otrzymuję inny format pikseli.

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

Nie jestem pewien, dlaczego otrzymuję dwa różne formaty pikseli (MJPG i YUYV), ale spodziewałem się zobaczyć format Pixel: „H264” (skompresowany), tak jak w samouczku, z którym nawiązałem połączenie.

Używam Ubuntu 12.1 z kernelem w wersji 3.5.0. Czy ktoś ma pojęcie, jakie są moje problemy? Chciałbym użyć H.264 zamiast MJPG, aby zaoszczędzić na przepustowości. Jakieś pomysły, dlaczego nie wykrywa H.264? Dzięki.

mashrur
źródło

Odpowiedzi:

0

Myślę, że problemem może być to, że Creative Live! Podłącz kamerę HD obsługuje tylko UVC1.1, która jest dość przestarzała; więc może sterownik V4l2 go nie rozpoznaje. Widzieć Wpis Wikipedii dla Rodzime obsługiwane kamery h.264

ShakMan
źródło
Próbuję zarówno Creative Live! Cam Connect HD i Creative Live! Cam Connect HD 1080 i widzę to samo co mashrur. Wiadomość od uvcvideo w czasie połączenia mówi, że urządzenie jest UVC 1.0 urządzenie (nie UVC 1.1). Może to powodować trudności; podobno H264 został wprowadzony w UVC 1.1.
Jeffrey Scofield
-1

Dwa różne formaty pikseli (MJPG i YUYV) pokazują, że kamera może obsługiwać te formaty. MPEG dla zakodowanych pakietów (zwykle używanych do wysyłania przez sieć do końca odbiornika) i YUYV dla RAW (nieskompresowany) obraz, który jest zwykle używany do podglądu lokalnego. Jak możesz, możesz użyć H.264 w VIDIOC_S_FMT, aby uzyskać strumień kodowany w H.264.

genuine sudo
źródło
Czy możesz podać link lub informacje, w jaki sposób to zrobić?
Silver Quettier