Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Gstreamer mjpeg webkamera se streamem na youtube  (Přečteno 3730 krát)

cvp

  • Člen
  • **
  • Příspěvků: 211
    • Zobrazit profil
Gstreamer mjpeg webkamera se streamem na youtube
« kdy: 04 Leden 2021, 13:11:09 »
Ahoj, nedaří se mně na internetu najít kód pro Gstreamer, kterým bych z /dev/video0 (USB webkamera) vytvořil MJPEG výstup, který má podporu vyššího rozlišení, ideálně 1920x1080px a převodem jak obrazu, tak zvuku do kodeků pro RTMP stream na YouTube.
Poradí mně prosím někdo?


cvp

  • Člen
  • **
  • Příspěvků: 211
    • Zobrazit profil
Re:Gstreamer mjpeg webkamera se streamem na youtube
« Odpověď #2 kdy: 04 Leden 2021, 21:49:33 »
Díky. Zatím jsem webovou kameru rozjel přes USB. Obraz funguje pouze ve 4:3 a takový 1920x1080px vůbec nebere, přitom MJPEG to v tomto rozlišení podporuje. Asi nevíte, co s tím?

gst-launch-1.0 -v v4l2src device=/dev/video0 ! image/jpeg, width=1600,
height=1200, framerate=30/1, format=MJPG ! jpegdec ! queue ! omxh264enc !
'video/x-h264, streamformat=(string)byte-stream' ! h264parse ! flvmux
streamable=true name=mux ! rtmpsink
location="rtmp://a.rtmp.youtube.com/live2/xxxxx" audiotestsrc ! voaacenc
bitrate=128000 ! mux.

JirkaZ

  • Závislák
  • ****
  • Příspěvků: 1040
  • Dlouholetý uživatel Linuxu a open source obecně.
    • Zobrazit profil
Re:Gstreamer mjpeg webkamera se streamem na youtube
« Odpověď #3 kdy: 05 Leden 2021, 10:02:00 »
Co to je přesně za kameru?

cvp

  • Člen
  • **
  • Příspěvků: 211
    • Zobrazit profil
Re:Gstreamer mjpeg webkamera se streamem na youtube
« Odpověď #4 kdy: 05 Leden 2021, 10:11:25 »
Waveshare IMX179 8MPx USB kamera (A) koupená na https://rpishop.cz/kamery/1046-waveshare-imx179-8mpx-usb-kamera-a.html

Jako první jsem otestoval příkaz v4l2-ctl -d /dev/video0 --list-formats-ext, abych zjistil, co lze pro USB kameru použít. Pro MJPEG tedy lze použít 1920x1080px až při 30fps.
Pokud kameru vložím pro stream přímo přes prohlížeč, streamuje v HD bez problému.

Kód: [Vybrat]
vecerapl@vecerapl-ubuntu:~$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘YUYV’
Name : YUYV 4:2:2
Size: Discrete 3264x2448
Interval: Discrete 0.500s (2.000 fps)
Size: Discrete 2592x1944
Interval: Discrete 0.500s (2.000 fps)
Size: Discrete 2048x1536
Interval: Discrete 0.333s (3.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1600x1200
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 1024x768
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Index       : 1
    Type        : Video Capture
    Pixel Format: 'MJPG' (compressed)
    Name        : Motion-JPEG
            Size: Discrete 3264x2448
                    Interval: Discrete 0.067s (15.000 fps)
            Size: Discrete 2592x1944
                    Interval: Discrete 0.067s (15.000 fps)
            Size: Discrete 2048x1536
                    Interval: Discrete 0.067s (15.000 fps)
            Size: Discrete 1920x1080
                    Interval: Discrete 0.040s (25.000 fps)
            Size: Discrete 1600x1200
                    Interval: Discrete 0.033s (30.000 fps)
            Size: Discrete 1280x960
                    Interval: Discrete 0.033s (30.000 fps)
            Size: Discrete 1280x720
                    Interval: Discrete 0.040s (25.000 fps)
            Size: Discrete 1024x768
                    Interval: Discrete 0.033s (30.000 fps)
            Size: Discrete 800x600
                    Interval: Discrete 0.033s (30.000 fps)
            Size: Discrete 640x480
                    Interval: Discrete 0.033s (30.000 fps)

JirkaZ

  • Závislák
  • ****
  • Příspěvků: 1040
  • Dlouholetý uživatel Linuxu a open source obecně.
    • Zobrazit profil
« Poslední změna: 05 Leden 2021, 12:34:11 od JirkaZ »