Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
$ gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! video/x-raw, width=3840, height=2160, framerate=60/1, format=NV12 ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink bus-id="a0070000.v_mix" show-preroll-frame=false" alsasrc device=hw:1,1 provide-clock=false ! audio/x-raw, rate=48000, channels=2, format=S24_32LE ! audioconvert ! audioresample ! audio/x-raw, rate=48000, channels=2, format=S24_32LE ! queue ! alsasink device="hw:1,0"

...

Code Block
$ gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! video/x-raw, width=3840, height=2160, framerate=60/1, format=NV12 ! omxh265enc qp-mode=auto gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000 num-slices=8 control-rate=constant prefetch-buffer=true low-bandwidth=false filler-data=true cpb-size=1000 initial-delay=500 ! video/x-h265, profile=main, alignment=au ! queue ! omxh265dec internal-entropy-buffers=5 low-latency=0 ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink bus-id="a0070000.v_mix" show-preroll-frame=false" alsasrc device=hw:1,1 provide-clock=false ! audio/x-raw, rate=48000, channels=2, format=S24_32LE ! audioconvert ! audioresample ! volume volume=2.0 ! audio/x-raw, rate=48000, channels=2, format=S24LE ! audioconvert ! audioresample ! queue max-size-bytes=0 ! alsasink device="hw:1,0"

...

Code Block
$ gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! video/x-raw, format=NV12, width=3840, height=2160, framerate=60/1 ! omxh265enc qp-mode=auto gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000 num-slices=8 control-rate=constant prefetch-buffer=true low-bandwidth=false filler-data=true cpb-size=1000 initial-delay=500 ! video/x-h265, profile=main, alignment=au ! queue ! mux. alsasrc device=hw:1,1 provide-clock=false ! audio/x-raw, format= S24_32LE, rate=48000, channels=2 ! queue ! audioconvert ! audioresample ! opusenc ! opusparse ! mpegtsmux name=mux ! filesink location = "/run/media/sda/test.ts"

File location should be USB-3.0 to avoid the read-write bandwidth issue

...

Code Block
$ gst-launch-1.0 uridecodebin uri="file:///run/media/sda/test.ts" name=decode ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink bus-id="a0070000.v_mix" show-preroll-frame=false" decode. ! audioconvert ! audioresample ! audio/x-raw, rate=48000, channnels=2, format=S24_32LE ! queue ! alsasink device="hw:1,0"

...

Code Block
$ gst-launch-1.0 udpsrc port=5004 buffer-size=60000000 caps="application/x-rtp, clock-rate=90000" ! rtpjitterbuffer latency=1000 ! rtpmp2tdepay ! tsparse ! video/mpegts ! tsdemux name=demux demux. ! queue ! h265parse ! video/x-h265, profile=main, alignment=au ! omxh265dec internal-entropy-buffers=5 low-latency=0 ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink bus-id="a0070000.v_mix" show-preroll-frame=false" demux. ! queue ! opusparse ! opusdec ! audioconvert ! audioresample ! audio/x-raw, rate=48000, channels=2, format=S24_32LE ! alsasink device="hw:1,0"

...