Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| hardware:video-pis [2024/04/03 21:13] – wtf | hardware:video-pis [2024/07/15 16:32] (current) – fix formatting wtf | ||
|---|---|---|---|
| Line 28: | Line 28: | ||
| - | ``` | + | |
| - | rtpbin | + | name=rtp |
| - | name=rtp | + | fec-encoders=' |
| - | fec-encoders=' | + | |
| - | + | v4l2src | |
| - | v4l2src | + | device=/ |
| - | device=/ | + | io-mode=0 |
| - | io-mode=0 | + | do-timestamp=true |
| - | do-timestamp=true | + | ! " |
| - | ! " | + | ! tee |
| - | ! tee | + | name=input |
| - | name=input | + | ! v4l2h264enc |
| - | ! v4l2h264enc | + | output-io-mode=0 |
| - | output-io-mode=0 | + | extra-controls=" |
| - | extra-controls=" | + | ! " |
| - | ! " | + | ! 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: |
| - | device=hw: | + | do-timestamp=true |
| - | do-timestamp=true | + | ! " |
| - | ! " | + | ! audioconvert |
| - | ! audioconvert | + | ! voaacenc |
| - | ! voaacenc | + | bitrate=48000 |
| - | bitrate=48000 | + | ! aacparse |
| - | ! aacparse | + | ! queue |
| - | ! queue | + | ! mux. |
| - | ! mux. | + | |
| - | + | input. | |
| - | input. | + | ! queue |
| - | ! queue | + | ! videoconvert |
| - | ! videoconvert | + | ! fbdevsink |
| - | ! fbdevsink | + | device="/ |
| - | device="/ | + | sync=false |
| - | sync=false | + | |
| - | ``` | + | |
| Receiver, with audio-out on Headphone-jack: | Receiver, with audio-out on Headphone-jack: | ||
| - | ``` | + | |
| - | rtpbin | + | latency=100 |
| - | latency=100 | + | fec-decoders=' |
| - | fec-decoders=' | + | name=rtp |
| - | name=rtp | + | |
| - | + | udpsrc | |
| - | udpsrc | + | address=224.0.23.1 |
| - | address=224.0.23.1 | + | port=5002 |
| - | port=5002 | + | caps=" |
| - | caps=" | + | ! 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=" |
| - | caps=" | + | ! 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=" |
| - | caps=" | + | ! 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=" |
| - | card-name=" | + | |
| - | ``` | + | |
| === 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 | + | device=/ |
| - | device=/ | + | io-mode=0 |
| - | io-mode=0 | + | do-timestamp=true |
| - | do-timestamp=true | + | ! " |
| - | ! " | + | ! tee |
| - | ! tee | + | name=input |
| - | name=input | + | ! v4l2h264enc |
| - | ! v4l2h264enc | + | output-io-mode=0 |
| - | output-io-mode=0 | + | extra-controls=" |
| - | extra-controls=" | + | ! " |
| - | ! " | + | ! mpegtsmux |
| - | ! mpegtsmux | + | name=mux |
| - | name=mux | + | ! srtsink |
| - | ! srtsink | + | uri=srt://: |
| - | uri=srt://: | + | 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: |
| - | device=hw: | + | do-timestamp=true |
| - | do-timestamp=true | + | ! " |
| - | ! " | + | ! 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 | + | latency=20 |
| - | latency=20 | + | mode=caller |
| - | mode=caller | + | uri=srt:// |
| - | uri=srt:// | + | ! 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=" | ||
| - | demux. | ||
| - | ! queue | ||
| - | ! avdec_aac | ||
| - | ! audioconvert | ||
| - | ! alsasink | ||
| - | card-name=" | ||
| - | ``` | ||
| === RIST streaming (multicast/ | === RIST streaming (multicast/ | ||
| 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 | + | device=/ |
| - | device=/ | + | io-mode=0 |
| - | io-mode=0 | + | do-timestamp=true |
| - | do-timestamp=true | + | ! " |
| - | ! " | + | ! tee |
| - | ! tee | + | name=input |
| - | name=input | + | ! v4l2h264enc |
| - | ! v4l2h264enc | + | output-io-mode=0 |
| - | output-io-mode=0 | + | extra-controls=" |
| - | extra-controls=" | + | ! " |
| - | ! " | + | ! 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: |
| - | device=hw: | + | do-timestamp=true |
| - | do-timestamp=true | + | ! " |
| - | ! " | + | ! 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 | + | 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=" |
| - | card-name=" | + | |
| - | ``` | + | |