Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hardware:video-pis [2024/07/15 14:32] – fix formatting wtfhardware:video-pis [2026/08/13 08:46] (current) – [Video-Pis] clarifcation of current RPi4-scope wtf
Line 1: Line 1:
-Video-Pis+Video-Pis
  
-Research-documentation for H264-encoding and streaming with Raspberry Pis.+Research-documentation for H264-encoding and streaming with Raspberry Pis. Document created when RPi 4 was new, so these examples incorporate hardware-encoding and need adaption for RPi 5.
  
-== gstreamer with Auvidea B101 HDMI-CSI2-Bridge+## gstreamer with Auvidea B101 HDMI-CSI2-Bridge
  
  * max. supported resolution: 1080p30. [[https://forums.raspberrypi.com/viewtopic.php?t=268787|Theoretically]] CSI-2 with two lanes (card-sized RPis; CM4-module has 4 lanes!) should be capable of handling 1080p50 in UYVY colorspace, but this fails so far, even as UYVY seems to be in use. (It's unclear if everything will literally melt, too ;)  * max. supported resolution: 1080p30. [[https://forums.raspberrypi.com/viewtopic.php?t=268787|Theoretically]] CSI-2 with two lanes (card-sized RPis; CM4-module has 4 lanes!) should be capable of handling 1080p50 in UYVY colorspace, but this fails so far, even as UYVY seems to be in use. (It's unclear if everything will literally melt, too ;)
Line 11: Line 11:
 Hint: For better reading pipelines are described as pipeline files which one can use with `cat pipeline-file.txt | xargs gst-launch-1.0`. Hint: For better reading pipelines are described as pipeline files which one can use with `cat pipeline-file.txt | xargs gst-launch-1.0`.
  
-=== SMPTE2022-1 FEC streaming (multicast/unicast), audio and display-loop-out included+### SMPTE2022-1 FEC streaming (multicast/unicast), audio and display-loop-out included
  
 Since 2020 there is an implementation of SMPTE 2022-1 in gstreamer, done in MPEGTS via UDP with 2D-FEC: [[https://mathieuduponchelle.github.io/2020-10-09-SMPTE-2022-1-2D-Forward-Error-Correction-in-GStreamer.html|blog-post by Mathieu]].  Since 2020 there is an implementation of SMPTE 2022-1 in gstreamer, done in MPEGTS via UDP with 2D-FEC: [[https://mathieuduponchelle.github.io/2020-10-09-SMPTE-2022-1-2D-Forward-Error-Correction-in-GStreamer.html|blog-post by Mathieu]]. 
Line 27: Line 27:
 Sender, using audio from HDMI-In and sending video-input to first HDMI-display port: Sender, using audio from HDMI-In and sending video-input to first HDMI-display port:
  
 +<code>
   rtpbin    rtpbin 
     name=rtp      name=rtp 
Line 87: Line 87:
     device="/dev/fb0"      device="/dev/fb0" 
     sync=false     sync=false
 +</code>
  
 Receiver, with audio-out on Headphone-jack: Receiver, with audio-out on Headphone-jack:
  
 +<code>
   rtpbin    rtpbin 
     latency=100      latency=100 
Line 131: Line 133:
   ! alsasink    ! alsasink 
       card-name="bcm2835 Headphones"       card-name="bcm2835 Headphones"
 +</code>
  
-=== SRT streaming (unicast), audio and display-loop-out included+### SRT streaming (unicast), audio and display-loop-out included
  
  * Tested by wtf with an Raspberry Pi 4B+ with Raspberry Pi OS 2023-10-10, Debian Bookworm each, in March 2024.  * Tested by wtf with an Raspberry Pi 4B+ with Raspberry Pi OS 2023-10-10, Debian Bookworm each, in March 2024.
Line 141: Line 144:
 Sender, using audio from HDMI-In and sending video-input to display: Sender, using audio from HDMI-In and sending video-input to display:
  
 +<code>
   v4l2src    v4l2src 
       device=/dev/video0        device=/dev/video0 
Line 176: Line 180:
   ! queue    ! queue 
   ! mux.    ! mux. 
-  +</code> 
 Receiver, with audio-out on Headphone-jack: Receiver, with audio-out on Headphone-jack:
  
 +<code>
   srtclientsrc    srtclientsrc 
       latency=20        latency=20 
Line 201: Line 207:
   ! alsasink    ! alsasink 
       card-name="bcm2835 Headphones"       card-name="bcm2835 Headphones"
 +</code>
  
- +### RIST streaming (multicast/unicast), audio and display-loop-out included
-=== RIST streaming (multicast/unicast), audio and display-loop-out included+
  
 RIST seems to be the new kid around the corner of SRT. No FEC, but re-transmission-requests with RTCP, which shall work via multicast, too? RIST seems to be the new kid around the corner of SRT. No FEC, but re-transmission-requests with RTCP, which shall work via multicast, too?
Line 213: Line 219:
 Sender, using audio from HDMI-In and sending video-input to display: Sender, using audio from HDMI-In and sending video-input to display:
  
 +<code>
   v4l2src    v4l2src 
       device=/dev/video0        device=/dev/video0 
Line 248: Line 255:
   ! queue    ! queue 
   ! mux.   ! mux.
 +</code>
  
 Receiver, with audio-out on headphone-jack: Receiver, with audio-out on headphone-jack:
  
 +<code>
   ristsrc    ristsrc 
       address=224.0.23.1        address=224.0.23.1 
Line 274: Line 283:
   ! alsasink    ! alsasink 
       card-name="bcm2835 Headphones"       card-name="bcm2835 Headphones"
 +</code>
  • hardware/video-pis.1721053920.txt.gz
  • Last modified: 2024/07/15 14:32
  • by wtf