Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| hardware:video-pis [2024/03/28 19:22] – [RIST streaming (multicast/unicast), audio and display-loop-out included] wtf | hardware:video-pis [2024/07/15 16:32] (current) – fix formatting wtf | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| == gstreamer with Auvidea B101 HDMI-CSI2-Bridge | == gstreamer with Auvidea B101 HDMI-CSI2-Bridge | ||
| - | * max. supported resolution: 1080p30. [[https:// | + | * max. supported resolution: 1080p30. [[https:// |
| * The iframe-peroid of 2 frames is quiet aggressive. | * The iframe-peroid of 2 frames is quiet aggressive. | ||
| * I/O-mode = auto. Result unclear, it seems popular stating DMAbuf here. Investigate! | * I/O-mode = auto. Result unclear, it seems popular stating DMAbuf here. Investigate! | ||
| + | |||
| + | 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/ | === SMPTE2022-1 FEC streaming (multicast/ | ||
| Line 23: | Line 25: | ||
| * Don't forget to remove " | * Don't forget to remove " | ||
| - | Sender, using Audio from HDMI-In and sending video-input to display: | + | Sender, using audio from HDMI-In and sending video-input to first HDMI-display |
| - | gst-launch-1.0 | ||
| - | rtpbin name=rtp fec-encoders=' | ||
| - | v4l2src device=/ | ||
| - | tee name=input ! \ | ||
| - | v4l2h264enc output-io-mode=0 extra-controls=" | ||
| - | " | ||
| - | mpegtsmux name=mux ! rtpmp2tpay ssrc=0 ! rtp.send_rtp_sink_0 | ||
| - | rtp.send_rtp_src_0 ! udpsink host=${ipAddress} port=5000 multicast-iface=eth0 \ | ||
| - | rtp.send_fec_src_0_0 ! udpsink host=${ipAddress} port=5002 async=false multicast-iface=eth0 \ | ||
| - | rtp.send_fec_src_0_1 ! udpsink host=${ipAddress} port=5004 async=false multicast-iface=eth0 \ | ||
| - | alsasrc device=hw: | ||
| - | audioconvert ! voaacenc bitrate=48000 ! aacparse ! queue ! mux. \ | ||
| - | input. ! queue ! videoconvert ! fbdevsink device="/ | ||
| + | rtpbin | ||
| + | name=rtp | ||
| + | fec-encoders=' | ||
| + | | ||
| + | v4l2src | ||
| + | device=/ | ||
| + | io-mode=0 | ||
| + | do-timestamp=true | ||
| + | ! " | ||
| + | ! tee | ||
| + | name=input | ||
| + | ! v4l2h264enc | ||
| + | output-io-mode=0 | ||
| + | extra-controls=" | ||
| + | ! " | ||
| + | ! h264parse | ||
| + | ! mpegtsmux | ||
| + | name=mux | ||
| + | ! rtpmp2tpay | ||
| + | ssrc=0 | ||
| + | ! rtp.send_rtp_sink_0 | ||
| + | | ||
| + | rtp.send_rtp_src_0 | ||
| + | ! udpsink | ||
| + | host=224.0.23.1 | ||
| + | port=5000 | ||
| + | multicast-iface=eth0 | ||
| + | | ||
| + | rtp.send_fec_src_0_0 | ||
| + | ! udpsink | ||
| + | host=224.0.23.1 | ||
| + | port=5002 | ||
| + | async=false | ||
| + | multicast-iface=eth0 | ||
| + | | ||
| + | rtp.send_fec_src_0_1 | ||
| + | ! udpsink | ||
| + | host=224.0.23.1 | ||
| + | port=5004 | ||
| + | async=false | ||
| + | multicast-iface=eth0 | ||
| + | | ||
| + | alsasrc | ||
| + | device=hw: | ||
| + | do-timestamp=true | ||
| + | ! " | ||
| + | ! audioconvert | ||
| + | ! voaacenc | ||
| + | bitrate=48000 | ||
| + | ! aacparse | ||
| + | ! queue | ||
| + | ! mux. | ||
| + | | ||
| + | input. | ||
| + | ! queue | ||
| + | ! videoconvert | ||
| + | ! fbdevsink | ||
| + | device="/ | ||
| + | sync=false | ||
| Receiver, with audio-out on Headphone-jack: | Receiver, with audio-out on Headphone-jack: | ||
| - | | + | |
| - | | + | latency=100 |
| - | udpsrc address=224.0.23.1 port=5002 caps=" | + | |
| - | udpsrc address=224.0.23.1 port=5004 caps=" | + | |
| - | udpsrc address=224.0.23.1 port=5000 caps=" | + | |
| - | | + | |
| - | rtp. ! queue ! decodebin name=decode | + | |
| - | decode. ! audioconvert ! queue ! alsasink card-name=" | + | |
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | ! videoconvert | ||
| + | | ||
| + | ! kmssink | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| === SRT streaming (unicast), audio and display-loop-out included | === SRT streaming (unicast), audio and display-loop-out included | ||
| Line 61: | 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: | ||
| - | | + | |
| - | | + | device=/ |
| - | tee name=input | + | |
| - | v4l2h264enc output-io-mode=0 extra-controls=" | + | |
| - | " | + | |
| - | mpegtsmux name=mux ! srtsink uri=srt://: | + | |
| - | input. ! queue ! videoconvert ! fbdevsink sync=false | + | |
| - | alsasrc device=hw: | + | |
| - | + | | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| Receiver, with audio-out on Headphone-jack: | Receiver, with audio-out on Headphone-jack: | ||
| - | | + | srtclientsrc |
| - | | + | |
| - | tsdemux latency=40 name=demux demux. ! queue ! decodebin name=decode ! videoconvert ! queue ! kmssink | + | |
| - | demux. ! queue ! avdec_aac ! audioconvert ! alsasink card-name=" | + | |
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| Line 88: | 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: | ||
| - | | + | |
| - | | + | device=/ |
| - | tee name=input | + | |
| - | v4l2h264enc output-io-mode=0 extra-controls=" | + | |
| - | " | + | |
| - | mpegtsmux name=mux ! rtpmp2tpay ! ristsink address=224.0.23.1 port=5004 multicast-iface=eth0 | + | |
| - | input. ! queue ! videoconvert ! fbdevsink sync=false \ | + | |
| - | alsasrc device=hw: | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| Receiver, with audio-out on headphone-jack: | Receiver, with audio-out on headphone-jack: | ||
| - | | + | |
| - | | + | address=224.0.23.1 |
| - | tsdemux latency=50 name=demux demux. ! queue ! decodebin name=decode ! videoconvert ! queue ! kmssink | + | |
| - | demux. ! queue ! avdec_aac ! audioconvert ! alsasink card-name=" | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||