- Transcode and stream through ethernet
-
gst-launch-1.0 filesrc location=in.mp4 ! qtdemux ! h264parse ! omxh264dec ! omxh265enc control-rate=2 target-bitrate=20000 ! h265parse ! queue ! rtph265pay ! udpsink host=192.168.1.1 port=50000 buffer-size=20000000 async=false max-lateness=-1 qos-dscp=60 - Stream through Ethernet and Decoding to the Display Pipeline
-
gst-launch-1.0 udpsrc port=50000 caps="application/x-rtp, media=video, clock-rate=90000, payload=96, encoding-name=H265" buffer-size=20000000 ! rtpjitterbuffer latency=1000 ! rtph265depay ! h265parse ! omxh265dec ! queue ! kmssink bus-id=fd4a0000.display fullscreen-overlay=1 sync=false - Recommended settings for streaming over Ethernet
-
- Low-latency RC with low-delay-p gop-mode, gdr-mode=horizontal, periodicity-idr=Picture height in MBs.
- Low-latency RC with low-delay-p gop-mode and periodicity-idr=twice the framerate.
- CBR RC with low-delay-p gop-mode, gdr-mode=horizontal, periodicity-idr=Picture height in MBs.
- CBR RC with low-delay-p gop-mode and periodicity-idr=twice the framerate, cpb-size="1000”.
- For AVC, 1 MB=16x16 pixels and for HEVC, 1MB=32x32 pixels. You have to calculate picture height in MB/s= roundup (Height,64)/#MB rows.
- If you are not using buffer-size property of udpsrc, then you must
set it manually using sysctl command as per their network bandwidth
utilization and requirements.
-> sysctl -w net.core.rmem_default=60000000
- VBR is not a preferred mode of streaming.