Help
-
gstreamer help
#gst-inspect-1.0 -h
-
Check supported decoder/encoder/vpp(video post-process) list
#gst-inspect-1.0 vaapi
#gst-inspect-1.0 msdk
-
Check private option list of a decode/encode/vpp
#gst-inspect-1.0 vaapih264dec
#gst-inspect-1.0 msdkh264dec
Decode
-
AVC/H264 DECODE
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./test.h264 ! h264parse ! vaapih264dec ! videoconvert ! video/x-raw,format=I420 ! checksumsink2 file-checksum=true frame-checksum=false plane-checksum=false dump-output=false qos=false
gst-msdk:
gst-launch-1.0 -vf filesrc location=./test.h264 ! h264parse ! msdkh264dec ! videoconvert ! video/x-raw,format=I420 ! checksumsink2 file-checksum=true frame-checksum=false plane-checksum=false dump-output=false qos=false
-
HEVC/H265 8BIT DECODE
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! vaapih265dec ! videoconvert ! video/x-raw,format=I420 ! checksumsink2 file-checksum=true frame-checksum=false plane-checksum=false dump-output=false qos=false
gst-msdk:
gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! msdkh265dec ! videoconvert ! video/x-raw,format=I420 ! checksumsink2 file-checksum=true frame-checksum=false plane-checksum=false dump-output=false qos=false
-
HEVC/H265 10BIT DECODE
gst-vaapi: gst-launch-1.0 -q filesrc location=./test-10bit.h265 ! h265parse '!' vaapih265dec ! videoconvert ! video/x-raw,format=P010_10LE ! checksumsink2 frame-checksum=FALSE file-checksum=TRUE plane-checksum=FALSE dump-output=false qos=false
gst-msdk: gst-launch-1.0 -q filesrc location=./test-10bit.h265 ! h265parse '!' msdkh265dec ! videoconvert ! video/x-raw,format=P010_10LE ! checksumsink2 frame-checksum=FALSE file-checksum=TRUE plane-checksum=FALSE dump-output=false qos=false
Playback
-
HEVC/H265 8BIT PLAYBACK
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! vaapih265dec ! vaapisink display=0
(display: 0-Auto detection,1-x11,3-wayland,4-drm,5-egl)
#gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! vaapih265dec ! vaapipostproc hue=150 brightness=1 contrast=1 saturation=1 ! vaapisink
#gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! vaapih265dec ! glimagesink
#gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! vaapih265dec ! vaapipostproc hue=150 brightness=1 contrast=1 saturation=1 ! glimagesink
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! msdkh265dec ! glimagesink
#gst-launch-1.0 -vf filesrc location=./test.h265 ! h265parse ! msdkh265dec ! msdkvpp hue=150 brightness=1 contrast=1 saturation=1 ! glimagesink
-
HEVC/H265 10BIT PLAYBACK
gst-vaapi:
#gst-launch-1.0 -q filesrc location=./test-10bit.h265 ! h265parse ! vaapih265dec ! vaapipostproc ! video/x-raw,format=P010_LE ! vaapisink display=0
(display: 0-Auto detection,1-x11,3-wayland,4-drm,5-egl)
gst-msdk:
#gst-launch-1.0 -q filesrc location=./test-10bit.h265 ! h265parse ! msdkh265dec ! msdkvpp ! video/x-raw(memory:DMABuf),format=P010_LE ! glimagesink
Encode
-
AVC/H264 Encode:
CQP:
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 ! videoconvert ! video/x-raw,format=NV12 ! vaapih264enc rate-control=cqp init-qp=14 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-cqp-ipb-gop30-1080p-qp14-ql4.h264
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 ! videoconvert ! video/x-raw,format=NV12 ! msdkh264enc rate-control=cqp qpi=28 qpp=28 qpb=28 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 target-usage=4 hardware=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-cqp-ipb-gop30-1080p-qp14-ql4.h264
CBR
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! vaapih264enc rate-control=cbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-cbr-ipb-gop30-1080p-8mbps-ql4.h264
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh264enc rate-control=cbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-cbr-ipb-gop30-1080p-8mbps-ql4.h264
VBR
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! vaapih264enc rate-control=vbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-vbr-ipb-gop30-1080p-8mbps-ql4.h264
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh264enc rate-control=vbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-vbr-ipb-gop30-1080p-8mbps-ql4.h264
-
HEVC/H265 Encode:
CQP:
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 ! videoconvert ! video/x-raw,format=NV12 ! vaapih265enc rate-control=cqp init-qp=14 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h265,profile=main ! h265parse ! filesink location=./output-profilemain-cqp-ipb-gop30-1080p-qp14-ql4.h265
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 ! videoconvert ! video/x-raw,format=NV12 ! msdkh265enc rate-control=cqp qpi=28 qpp=28 qpb=28 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 target-usage=4 hardware=true ! video/x-h265,profile=main ! h265parse ! filesink location=./output-profilemain-cqp-ipb-gop30-1080p-qp14-ql4.h265
CBR
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! vaapih265enc rate-control=cbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h265,profile=main ! h265parse ! filesink location=./output-profilemain-cbr-ipb-gop30-1080p-8mbps-ql4.h265
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh265enc rate-control=cbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true ! video/x-h265,profile=main ! h265parse ! filesink location=./output-profilemain-cbr-ipb-gop30-1080p-8mbps-ql4.h265
VBR
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! vaapih265enc rate-control=vbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h265,profile=main ! h265parse ! filesink location=./output-profilemain-vbr-ipb-gop30-1080p-8mbps-ql4.h265
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh265enc rate-control=vbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true ! video/x-h265,profile=main ! h265parse ! filesink location=./output-profilemain-vbr-ipb-gop30-1080p-8mbps-ql4.h265
-
HEVC/H265 10BIT ENCODE
CQP:
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_10bit.P010 num-buffers=150 ! rawvideoparse format=p010-10le width=1920 height=1080 ! videoconvert ! video/x-raw,format=P010_10LE ! vaapih265enc rate-control=cqp init-qp=14 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h265,profile=main-10 ! h265parse ! filesink location=./output-profilemain10-cqp-ipb-gop30-1080p-qp14-ql4.h265
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_10bit.P010 num-buffers=150 ! rawvideoparse format=p010-10le width=1920 height=1080 ! videoconvert ! video/x-raw,format=P010_10LE ! msdkh265enc rate-control=cqp qpi=28 qpp=28 qpb=28 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 target-usage=4 hardware=true ! video/x-h265,profile=main-10 ! h265parse ! filesink location=./output-profilemain10-cqp-ipb-gop30-1080p-qp14-ql4.h265
CBR
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_10bit.P010 num-buffers=150 ! rawvideoparse format=p010-10le width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=P010_10LE ! vaapih265enc rate-control=cbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h265,profile=main-10 ! h265parse ! filesink location=./output-profilemain10-cbr-ipb-gop30-1080p-8mbps-ql4.h265
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_10bit.P010 num-buffers=150 ! rawvideoparse format=p010-10le width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=P010_10LE ! msdkh265enc rate-control=cbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true ! video/x-h265,profile=main-10 ! h265parse ! filesink location=./output-profilemain10-cbr-ipb-gop30-1080p-8mbps-ql4.h265
VBR
gst-vaapi:
#gst-launch-1.0 -vf filesrc location=./1080p_10bit.P010 num-buffers=150 ! rawvideoparse format=p010-10le width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=P010_10LE ! vaapih265enc rate-control=vbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 ! video/x-h265,profile=main-10 ! h265parse ! filesink location=./output-profilemain10-vbr-ipb-gop30-1080p-8mbps-ql4.h265
gst-msdk:
#gst-launch-1.0 -vf filesrc location=./1080p_10bit.P010 num-buffers=150 ! rawvideoparse format=p010-10le width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=P010_10LE ! msdkh265enc rate-control=vbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true ! video/x-h265,profile=main-10 ! h265parse ! filesink location=./output-profilemain10-vbr-ipb-gop30-1080p-8mbps-ql4.h265
-
AVC AND HEVC 8BIT/10BIT ENCODE VDENC (LOW POWER) ENCODE
gst-vaapi: to add “tune=3” option for each AVC CQP/CBR/VBR test command line
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! vaapih264enc rate-control=cbr bitrate=8000 quality-level=4 keyframe-period=30 num-slices=1 refs=1 max-bframes=2 tune=3 ! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-cbr-ipb-gop30-1080p-8mbps-ql4-lowpower.h264
gst-msdk: to add “low-power=true” option for each AVC CQP/CBR/VBR test command line
#gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh264enc rate-control=cbr bitrate=8000 target-usage=4 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 hardware=true low-power=true! video/x-h264,profile=main ! h264parse ! filesink location=./output-profilemain-cbr-ipb-gop30-1080p-8mbps-ql4-lowpower.h264
gst-vaapi/msdk don’t support HEVC 8/10bit VDENC encode
VPP
-
DE-INTERLACE
gst-vaapi:
gst-launch-1.0 filesrc location=./1920x1080i.264 ! h264parse ! vaapih264dec ! vaapipostproc deinterlace-mode=1 deinterlace-method=bob ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./vpp_di_1920x1080.h264
gst-msdk:
gst-launch-1.0 filesrc location=./1920x1080i.264 ! h264parse ! msdkh264dec ! vaapipostproc deinterlace-mode=1 deinterlace-method=bob ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./vpp_di_1920x1080.h264
-
DE-NOISE
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1920x1080_NV12.yuv num-buffers=10 ! rawvideoparse format=nv12 width=1920 height=1080 ! vaapipostproc format=nv12 width=1920 height=1080 denoise=0.0 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_dn_50_NV12_1920x1080.yuv
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080_NV12.yuv num-buffers=10 ! rawvideoparse format=nv12 width=1920 height=1080 ! msdkvpp hardware=true denoise=50 ! videoconvert ! video/x-raw,format=NV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_dn_50_NV12_1920x1080.yuv
-
SCALING
gst-vaapi:(scaling-mode: 0, 1, 2)
gst-launch-1.0 -vf filesrc location=./1920x1080_NV12.yuv num-buffers=1 ! rawvideoparse format=nv12 width=1920 height=1080 ! vaapipostproc format=nv12 width=1280 height=720 scale-method=1 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_scale_NV12_1280x720.yuv
gst-msdk: (scaling-mode: 0, 1, 2)
gst-launch-1.0 -vf filesrc location=./1920x1080_NV12.yuv num-buffers=1 ! rawvideoparse format=nv12 width=1920 height=1080 ! videoconvert ! video/x-raw,format=NV12 ! msdkvpp hardware=true scaling-mode=1 ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_scale_NV12_1280x720.yuv
-
CSC
I420->NV12
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1080p_i420.yuv ! videoparse format=i420 width=1920 height=1080 ! vaapipostproc format=nv12 ! checksumsink2 frame-checksum=false dump-output=true dump-location=./1080p_nv12.yuv
ffmpeg-qsv: not ready
gst-launch-1.0 filesrc location=./1080p_i420.yuv ! videoparse format=i420 width=1920 height=1080 ! msdkvpp hardware=true ! video/x-raw,format=NV12 ! videoconvert ! video/x-raw,format=NV12 ! checksumsink2 frame-checksum=false dump-output=true dump-location=./1080p_nv12.yuv
-
PROCAMP
brightness
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! vaapipostproc format=yv12 width=1920 height=1080 brightness=0.0 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_brightness_50_YV12_1920x1080.yuv
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! msdkvpp hardware=true brightness=0.0 ! videoconvert ! video/x-raw,format=YV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_brightness_50_YV12_1920x1080.yuv
contrast
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! vaapipostproc format=yv12 width=1920 height=1080 contrast=1.0 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_contrast_50_YV12_1920x1080.yuv
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! msdkvpp hardware=true contrast=5.0 ! videoconvert ! video/x-raw,format=YV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_contrast_50_YV12_1920x1080.yuv
hue
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! vaapipostproc format=yv12 width=1920 height=1080 hue=0.0 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=.vpp_hue_50_YV12_1920x1080.yuv
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! msdkvpp hardware=true hue=0.0 ! videoconvert ! video/x-raw,format=YV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_hue_50_YV12_1920x1080.yuv
saturation
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! vaapipostproc format=yv12 width=1920 height=1080 saturation=1.0 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./w1920_h1080_YV12_saturation_50_YV12_1920x1080.yuv
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! msdkvpp hardware=true saturation=5.0 ! videoconvert ! video/x-raw,format=YV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./w1920_h1080_YV12_saturation_50_YV12_1920x1080.yuv
-
Sharpness
gst-vaapi:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! vaapipostproc format=yv12 width=1920 height=1080 sharpen=0.5 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_sharpness_75_YV12_1920x1080.yuv
gst-msdk:
not support
-
Mirroring
gst-vaapi: not support
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! videoconvert ! video/x-raw,format=NV12 ! msdkvpp hardware=true mirroring=1 ! videoconvert ! video/x-raw,format=YV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_mirroring_1_YV12_1920x1080.yuv
-
Rotation
gst-vaapi: not support
gst-msdk:
gst-launch-1.0 -vf filesrc location=./1920x1080.yv12 num-buffers=1 ! rawvideoparse format=yv12 width=1920 height=1080 ! msdkvpp hardware=true rotation=90 ! videoconvert ! video/x-raw,format=YV12 ! checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false dump-output=true dump-location=./vpp_rotation_90_YV12_1920x1080.yuv
Transcode 1:1 without VPP
-
H264->H264
gst-vaapi:
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! vaapih264dec ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./bluesky-1-14-4-main.h264
gst-msdk:
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! msdkh264dec ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
-
H264->H265
gst-vaapi:
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! vaapih264dec ! vaapih265enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 ! video/x-h265,profile=main ! h265parse ! filesink location=./output.h265
gst-msdk:
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! msdkh264dec ! msdkh265enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h265,profile=main ! h265parse ! filesink location=./output.h265
-
H265->H264
gst-vaapi:
gst-launch-1.0 filesrc location=./input.h265 ! h265parse ! vaapih265dec ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-msdk:
gst-launch-1.0 filesrc location=./input.h265 ! h265parse ! msdkh265dec ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
-
H265->H265
gst-vaapi:
gst-launch-1.0 filesrc location=./input.h265 ! h265parse ! vaapih265dec ! vaapih265enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 ! video/x-h265,profile=main ! h265parse ! filesink location=./output.h265
gst-msdk:
gst-launch-1.0 filesrc location=./input.h265 ! h265parse ! msdkh265dec ! msdkh265enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=0 ! video/x-h265,profile=main ! h265parse ! filesink location=./output.h265
Transcode 1:1 with VPP
-
H264->VPP SCALING->H264
gst-vaapi:
gst-launch-1.0 filesrc location=./input_1080p.h264 ! h264parse ! vaapih264dec ! vaapipostproc width=1280 height=720 scale-method=1 ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output_720p.h264
gst-msdk:
gst-launch-1.0 filesrc location=./input_1080p.h264 ! h264parse ! msdkh264dec ! msdkvpp hardware=true scaling-mode=1 ! videoconvert ! video/x-raw,width=1280,height=720 ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output_720p.h264
-
H264->VPP PROCAMP(BRIGHTNESS/CONTRAST/SATURATION/HUE)->H264
gst-vaapi:
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! vaapih264dec ! vaapipostproc hue=180 ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! vaapih264dec ! vaapipostproc saturation=1 ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! vaapih264dec ! vaapipostproc contrast=1 ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! vaapih264dec ! vaapipostproc brightness=0.0 ! vaapih264enc rate-control=cbr bitrate=5000 keyframe-period=30 max-bframes=2 cabac=true ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-msdk:
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! msdkh264dec ! msdkvpp hardware=true hue=180 ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! msdkh264dec ! msdkvpp hardware=true saturation=6 ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! msdkh264dec ! msdkvpp hardware=true contrast=6 ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264
gst-launch-1.0 filesrc location=./input.h264 ! h264parse ! msdkh264dec ! msdkvpp hardware=true brightness=0.0 ! msdkh264enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! video/x-h264,profile=main ! h264parse ! filesink location=./output.h264