hardware:video-pis

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
hardware:video-pis [2024/04/03 21:13] wtfhardware:video-pis [2024/07/15 16:32] (current) – fix formatting wtf
Line 28: Line 28:
  
  
-``` +  rtpbin  
-rtpbin  +    name=rtp  
-  name=rtp  +    fec-encoders='fec,0="rtpst2022-1-fecenc\ rows\=4\ columns\=4";' 
-  fec-encoders='fec,0="rtpst2022-1-fecenc\ rows\=4\ columns\=4";' +   
- +  v4l2src  
-v4l2src  +    device=/dev/video0  
-  device=/dev/video0  +    io-mode=0 
-  io-mode=0 +    do-timestamp=true  
-  do-timestamp=true  +  ! "video/x-raw,framerate=30/1,format=UYVY,colorimetry=bt601" 
-! "video/x-raw,framerate=30/1,format=UYVY,colorimetry=bt601" +  ! tee  
-! tee  +    name=input 
-  name=input +  ! v4l2h264enc 
-! v4l2h264enc +    output-io-mode=0  
-  output-io-mode=0  +    extra-controls="controls,h264_profile=4,h264_level=11,video_bitrate=15000000,video_bitrate_mode=0,h264_i_frame_period=2;"  
-  extra-controls="controls,h264_profile=4,h264_level=11,video_bitrate=15000000,video_bitrate_mode=0,h264_i_frame_period=2;"  +  ! "video/x-h264,profile=high, level=(string)4"  
-! "video/x-h264,profile=high, level=(string)4"  +  ! h264parse  
-! h264parse  +  ! mpegtsmux  
-! mpegtsmux  +    name=mux  
-  name=mux  +  ! rtpmp2tpay  
-! rtpmp2tpay  +    ssrc=0  
-  ssrc=0  +  ! rtp.send_rtp_sink_0 
-! rtp.send_rtp_sink_0 +   
- +  rtp.send_rtp_src_0  
-rtp.send_rtp_src_0  +  ! udpsink  
-! udpsink  +    host=224.0.23.1  
-  host=224.0.23.1  +    port=5000  
-  port=5000  +    multicast-iface=eth0  
-  multicast-iface=eth0  +   
- +  rtp.send_fec_src_0_0  
-rtp.send_fec_src_0_0  +  ! udpsink  
-! udpsink  +    host=224.0.23.1  
-  host=224.0.23.1  +    port=5002  
-  port=5002  +    async=false  
-  async=false  +    multicast-iface=eth0 
-  multicast-iface=eth0 +   
- +  rtp.send_fec_src_0_1  
-rtp.send_fec_src_0_1  +  ! udpsink  
-! udpsink  +    host=224.0.23.1  
-  host=224.0.23.1  +    port=5004  
-  port=5004  +    async=false  
-  async=false  +    multicast-iface=eth0 
-  multicast-iface=eth0 +   
- +  alsasrc 
-alsasrc +    device=hw:tc358743  
-  device=hw:tc358743  +    do-timestamp=true  
-  do-timestamp=true  +  ! "audio/x-raw,format=S16LE,rate=48000,channels=2"  
-! "audio/x-raw,format=S16LE,rate=48000,channels=2"  +  ! audioconvert  
-! audioconvert  +  ! voaacenc  
-! voaacenc  +    bitrate=48000  
-  bitrate=48000  +  ! aacparse  
-! aacparse  +  ! queue  
-! queue  +  ! mux. 
-! mux. +   
- +  input.  
-input.  +  ! queue  
-! queue  +  ! videoconvert  
-! videoconvert  +  ! fbdevsink  
-! fbdevsink  +    device="/dev/fb0"  
-  device="/dev/fb0"  +    sync=false
-  sync=false +
-```+
  
 Receiver, with audio-out on Headphone-jack: Receiver, with audio-out on Headphone-jack:
  
-``` +  rtpbin  
-rtpbin  +    latency=100  
-  latency=100  +    fec-decoders='fec,0="rtpst2022-1-fecdec\ size-time\=100000000";'  
-  fec-decoders='fec,0="rtpst2022-1-fecdec\ size-time\=100000000";'  +    name=rtp 
-  name=rtp +       
-     +  udpsrc  
-udpsrc  +    address=224.0.23.1  
-  address=224.0.23.1  +    port=5002  
-  port=5002  +    caps="application/x-rtp, payload=96"  
-  caps="application/x-rtp, payload=96"  +  ! queue  
-! queue  +  ! rtp.recv_fec_sink_0_0 
-! rtp.recv_fec_sink_0_0 +   
- +  udpsrc 
-udpsrc +    address=224.0.23.1  
-  address=224.0.23.1  +    port=5004  
-  port=5004  +    caps="application/x-rtp, payload=96"  
-  caps="application/x-rtp, payload=96"  +  ! queue  
-! queue  +  ! rtp.recv_fec_sink_0_1 
-! rtp.recv_fec_sink_0_1 +   
- +  udpsrc 
-udpsrc +    address=224.0.23.1 
-  address=224.0.23.1 +    port=5000 
-  port=5000 +    caps="application/x-rtp, media=video, clock-rate=90000, encoding-name=mp2t, payload=33"  
-  caps="application/x-rtp, media=video, clock-rate=90000, encoding-name=mp2t, payload=33"  +  ! queue  
-! queue  +  ! netsim  
-! netsim  +      drop-probability=0.01  
-    drop-probability=0.01  +  ! rtp.recv_rtp_sink_0 
-! rtp.recv_rtp_sink_0 +   
- +  rtp.  
-rtp.  +  ! queue  
-! queue  +  ! decodebin  
-! decodebin  +      name=decode 
-    name=decode +  ! videoconvert  
-! videoconvert  +  ! queue  
-! queue  +  ! kmssink 
-! kmssink +   
- +  decode.  
-decode.  +  ! audioconvert  
-! audioconvert  +  ! queue  
-! queue  +  ! alsasink  
-! alsasink  +      card-name="bcm2835 Headphones"
-    card-name="bcm2835 Headphones" +
-```+
  
 === SRT streaming (unicast), audio and display-loop-out included === SRT streaming (unicast), audio and display-loop-out included
Line 145: Line 141:
 Sender, using audio from HDMI-In and sending video-input to display: Sender, using audio from HDMI-In and sending video-input to display:
  
-``` +  v4l2src  
-v4l2src  +      device=/dev/video0  
-    device=/dev/video0  +      io-mode=0  
-    io-mode=0  +      do-timestamp=true  
-    do-timestamp=true  +  ! "video/x-raw,framerate=30/1,format=UYVY,colorimetry=bt601"  
-! "video/x-raw,framerate=30/1,format=UYVY,colorimetry=bt601"  +  ! tee  
-! tee  +      name=input 
-    name=input +  ! v4l2h264enc  
-! v4l2h264enc  +      output-io-mode=0  
-    output-io-mode=0  +      extra-controls="controls,h264_profile=4,h264_level=11,video_bitrate=15000000,video_bitrate_mode=0,h264_i_frame_period=2;" 
-    extra-controls="controls,h264_profile=4,h264_level=11,video_bitrate=15000000,video_bitrate_mode=0,h264_i_frame_period=2;" +  ! "video/x-h264,profile=high, level=(string)4" 
-! "video/x-h264,profile=high, level=(string)4" +  ! mpegtsmux  
-! mpegtsmux  +      name=mux  
-    name=mux  +  ! srtsink  
-! srtsink  +      uri=srt://:8888  
-    uri=srt://:8888  +      latency=40  
-    latency=40  +      mode=listener  
-    mode=listener  +      wait-for-connection=true 
-    wait-for-connection=true +   
- +  input.  
-input.  +  ! queue  
-! queue  +  ! videoconvert  
-! videoconvert  +  ! fbdevsink  
-! fbdevsink  +      sync=false 
-    sync=false +   
- +  alsasrc  
-alsasrc  +      device=hw:tc358743  
-    device=hw:tc358743  +      do-timestamp=true  
-    do-timestamp=true  +  ! "audio/x-raw,format=S16LE,rate=48000,channels=2"  
-! "audio/x-raw,format=S16LE,rate=48000,channels=2"  +  ! audioconvert  
-! audioconvert  +  ! voaacenc  
-! voaacenc  +      bitrate=48000  
-    bitrate=48000  +  ! aacparse  
-! aacparse  +  ! queue  
-! queue  +  ! mux.  
-! mux.  +  
-``` +
 Receiver, with audio-out on Headphone-jack: Receiver, with audio-out on Headphone-jack:
  
-``` +  srtclientsrc  
-srtclientsrc  +      latency=20  
-    latency=20  +      mode=caller  
-    mode=caller  +      uri=srt://${ipAddress}:8888  
-    uri=srt://${ipAddress}:8888  +  ! tsdemux  
-! tsdemux  +      latency=40  
-    latency=40  +      name=demux  
-    name=demux  +   
- +  demux.  
-demux.  +  ! queue  
-! queue  +  ! decodebin  
-! decodebin  +      name=decode  
-    name=decode  +  ! videoconvert  
-! videoconvert  +  ! queue  
-! queue  +  ! kmssink 
-! kmssink+   
 +  demux.  
 +  ! queue  
 +  ! avdec_aac  
 +  ! audioconvert  
 +  ! alsasink  
 +      card-name="bcm2835 Headphones"
  
-demux.  
-! queue  
-! avdec_aac  
-! audioconvert  
-! alsasink  
-    card-name="bcm2835 Headphones" 
-``` 
  
 === RIST streaming (multicast/unicast), audio and display-loop-out included === RIST streaming (multicast/unicast), audio and display-loop-out included
Line 220: Line 213:
 Sender, using audio from HDMI-In and sending video-input to display: Sender, using audio from HDMI-In and sending video-input to display:
  
-``` +  v4l2src  
-v4l2src  +      device=/dev/video0  
-    device=/dev/video0  +      io-mode=0  
-    io-mode=0  +      do-timestamp=true  
-    do-timestamp=true  +  ! "video/x-raw,framerate=30/1,format=UYVY,colorimetry=bt601"  
-! "video/x-raw,framerate=30/1,format=UYVY,colorimetry=bt601"  +  ! tee  
-! tee  +      name=input  
-    name=input  +  ! v4l2h264enc  
-! v4l2h264enc  +      output-io-mode=0  
-    output-io-mode=0  +      extra-controls="controls,h264_profile=4,h264_level=11,video_bitrate=15000000,video_bitrate_mode=0,h264_i_frame_period=2,sequence_header_mode=0;"  
-    extra-controls="controls,h264_profile=4,h264_level=11,video_bitrate=15000000,video_bitrate_mode=0,h264_i_frame_period=2,sequence_header_mode=0;"  +  ! "video/x-h264,profile=high, level=(string)4"  
-! "video/x-h264,profile=high, level=(string)4"  +  ! mpegtsmux  
-! mpegtsmux  +      name=mux  
-    name=mux  +  ! rtpmp2tpay  
-! rtpmp2tpay  +  ! ristsink  
-! ristsink  +      address=224.0.23.1  
-    address=224.0.23.1  +      port=5004  
-    port=5004  +      multicast-iface=eth0 
-    multicast-iface=eth0 +   
- +  input.  
-input.  +  ! queue  
-! queue  +  ! videoconvert  
-! videoconvert  +  ! fbdevsink  
-! fbdevsink  +      sync=false \ 
-    sync=false \ +       
-     +  alsasrc  
-alsasrc  +      device=hw:tc358743  
-    device=hw:tc358743  +      do-timestamp=true  
-    do-timestamp=true  +  ! "audio/x-raw,format=S16LE,rate=48000,channels=2"  
-! "audio/x-raw,format=S16LE,rate=48000,channels=2"  +  ! audioconvert  
-! audioconvert  +  ! voaacenc  
-! voaacenc  +      bitrate=48000  
-    bitrate=48000  +  ! aacparse  
-! aacparse  +  ! queue  
-! queue  +  ! mux.
-! mux. +
-```+
  
 Receiver, with audio-out on headphone-jack: Receiver, with audio-out on headphone-jack:
  
-``` +  ristsrc  
-ristsrc  +      address=224.0.23.1  
-    address=224.0.23.1  +      receiver-buffer=200  
-    receiver-buffer=200  +      reorder-section=20  
-    reorder-section=20  +  ! rtpmp2tdepay  
-! rtpmp2tdepay  +  ! tsdemux  
-! tsdemux  +      latency=50  
-    latency=50  +      name=demux  
-    name=demux  +   
- +  demux.  
-demux.  +  ! queue  
-! queue  +  ! decodebin  
-! decodebin  +      name=decode  
-    name=decode  +  ! videoconvert  
-! videoconvert  +  ! queue  
-! queue  +  ! kmssink 
-! kmssink +   
- +  demux.  
-demux.  +  ! queue  
-! queue  +  ! avdec_aac  
-! avdec_aac  +  ! audioconvert  
-! audioconvert  +  ! alsasink  
-! alsasink  +      card-name="bcm2835 Headphones"
-    card-name="bcm2835 Headphones" +
-```+
  • hardware/video-pis.1712171622.txt.gz
  • Last modified: 2024/04/03 21:13
  • by wtf