https://www.cxybb.com/article/weixin_30709061/96340395
轉載於 本文鏈接:https://blog.csdn.net/weixin_30709061/article/details/96340395
注意:解碼H.265流需要gstreamer版本1.4.x或更高版本,包括對h265parse和qtdemux的支持。 有關詳細信息,請參閱本指南中的Gstreamer構建說明。
VP8解碼(NVIDIA加速解碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! omxvp8dec ! nvoverlaysink -e
- 1
注意:當您不使用主顯示器來渲染視頻時,請使用nvoverlaysink的display-id屬性。 例如,請參考下面的管道。
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! omxvp8dec ! nvoverlaysink display-id=1 -e
- 1
MPEG-4解碼(NVIDIA加速解碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! mpeg4videoparse ! omxmpeg4videodec ! nveglglessink -e
- 1
圖像解碼
gst-launch-1.0 filesrc location=<filename.jpg> ! nvjpegdec ! imagefreeze ! xvimagesink -e
- 1
三、編碼示例
本節中的示例顯示了如何使用Gstreamer執行音頻和視頻編碼。
1.音頻編碼示例使用gst-launch-1.0
以下示例顯示如何在Gstreamer-1.0上執行音頻編碼。
AAC編碼(OSS軟件編碼)
gst-launch-1.0 audiotestsrc ! 'audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2' ! voaacenc ! qtmux ! filesink location=test.mp4 -e
- 1
AMR-WB編碼(OSS軟件編碼)
gst-launch-1.0 audiotestsrc ! 'audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)16000, channels=(int)1' ! voamrwbenc ! qtmux ! filesink location=test.mp4 -e
- 1
2.視頻編碼示例使用gst-launch-1.0
以下示例說明如何使用Gstreamer-1.0執行視頻編碼。
H.264編碼(NVIDIA加速編碼)
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)640, height=(int)480' ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 -e
- 1
H.265編碼(NVIDIA加速編碼)
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)640, height=(int)480' ! omxh265enc ! filesink location=test.h265 -e
- 1
VP8編碼(NVIDIA加速編碼)
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)640, height=(int)480' ! omxvp8enc ! qtmux ! filesink location=test.mp4 -e
- 1
MPEG-4編碼(OSS軟件編碼)
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)640, height=(int)480' ! avenc_mpeg4 ! qtmux ! filesink location=test.mp4 -e
- 1
H.263編碼(OSS軟件編碼)
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)704, height=(int)576' ! avenc_h263 ! qtmux ! filesink location=test.mp4 -e
- 1
圖像編碼:
gst-launch-1.0 videotestsrc num-buffers=1 ! 'video/x-raw, width=(int)640, height=(int)480, format=(string)I420' ! nvjpegenc ! filesink location=test.jpg -e
- 1
3.支持使用Gstreamer-1.0的H.264編碼器功能
本節介紹了NVIDIA加速H.264編碼器支持的功能的gst-launch-1.0使用示例。
注意:使用gst-inspect-1.0 omxh264cc命令顯示omxh264c編碼器屬性的詳細信息。
設置I幀間隔:
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc iframeinterval=100 ! qtmux ! filesink location=test.mp4 -e
- 1
設置時間權衡(編碼器應丟棄幀的速率)
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc temporal-tradeoff=1 ! qtmux ! filesink location=test.mp4 -e
- 1
設定速率控制模式:
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc control-rate=1 ! qtmux ! filesink location=test.mp4 -e
- 1
設置I,P和B幀的量化范圍
范圍的格式如下:
”<I_range>:<P_range>:<B_range>”
- 1
其中,和各自表示為連字符值,如以下示例所示:
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc qp-range="10,30:10,35:10:35" ! qtmux ! filesink location=test.mp4 -e
- 1
設置質量水平
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc quality-level=0 ! qtmux ! filesink location=test.mp4 -e
- 1
設置配置文件
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc profile=8 ! qtmux ! filesink location=test.mp4 -e
- 1
設置兩個參考幀之間設置的B幀數
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc num-B-Frames=2 ! qtmux ! filesink location=test.mp4 –e
- 1
在IDR插入SPS PPS
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc insert-sps-pps=1 ! qtmux ! filesink location=test.mp4 –e
- 1
啟用兩通cbr
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc EnableTwopassCBR=1 control-rate=2 ! qtmux ! filesink location=test.mp4 –e
- 1
設置虛擬緩沖區大小
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc vbv-size=10 ! qtmux ! filesink location=test.mp4 –e
- 1
以MB為單位的間距標題間距
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc slice-header-spacing=200 bit-packetization=0 ! qtmux ! filesink location=test.mp4 –e
- 1
切片標題間距,以位數表示
gst-launch-1.0 videotestsrc num-buffers=200 ! 'video/x-raw, width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc slice-header-spacing=1024 bit-packetization=1 ! qtmux ! filesink location=test1.mp4 –e
- 1
四、相機捕獲
對於nvgstcapture-1.0使用信息,請輸入以下命令:
nvgstcapture-1.0 --help
- 1
nvgstcapture-1.0應用程序使用v4l2src插件來捕獲靜態圖像和視頻。
下表顯示了USB攝像頭的支持。
raw-yuv Capture(I420格式)和預覽顯示與xvimagesink
gst-launch-1.0 v4l2src device="/dev/video0" ! "video/x-raw, width=640, height=480, format=(string)I420" ! xvimagesink -e
- 1
五、視頻回放
對於nvgstplayer-1.0使用信息,請輸入以下命令:
nvgstplayer-1.0 --help
- 1
視頻可以使用平台上的HDMI連接器輸出到高清顯示器。 Gstreamer-1.0應用程序目前支持以下視頻接收器:
Overlay Sink(全屏模式下的重疊式視頻播放)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux ! h264parse ! omxh264dec ! nvoverlaysink –e
- 1
nveglglessink(窗口視頻播放,NVIDIA EGL / GLES視頻)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux ! h264parse ! omxh264dec ! nveglglessink –e
- 1
此nvgstplayer-1.0應用程序支持窗口播放的特定窗口位置和尺寸:
nvgstplayer-1.0 –i <filename> --window-x=300 –window-y=300 –window-width=500 –window-height=500
- 1
六、視頻格式轉換
NVIDIA專有的nvvidconv Gstreamer-1.0插件允許在OSS(原始)視頻格式和NVIDIA視頻格式之間進行轉換。 nvvidconv插件目前支持本節中描述的格式轉換。
raw-yuv輸入格式:
目前,nvvidconv支持I420,UYVY和NV12 raw-yuv輸入格式。
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 -e
- 1
raw-gray輸入格式:
目前,nvvidconv支持GRAY8原始灰色輸入格式。
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)GRAY8, width=(int)1280, height=(int)720’ ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 –e
- 1
- 2
raw-yuv輸出格式:
目前,nvvidconv支持I420和UYVY的原始yuv輸出格式。
gst-launch-1.0 filesrc location=640x480_30p.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw, format=(string)UYVY' ! xvimagesink –e
- 1
raw-gray輸出格式:
目前,nvvidconv支持GRAY8原始灰色輸出格式。
gst-launch-1.0 filesrc location=640x480_30p.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw, format=(string)GRAY8' ! videoconvert ! xvimagesink –e
- 1
七、視頻縮放
NVIDIA專有的nvvidconv Gstreamer-1.0插件還允許您執行視頻縮放。 nvvidconv插件目前支持使用本節中描述的格式轉換進行縮放。
raw-yuv輸入格式:
目前,nvvidconv支持縮放的I420,UYVY和NV12 raw-yuv輸入格式。
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)1280, height=(int)720' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)I420' ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 –e
- 1
raw-gray輸入格式:
目前,nvvidconv支持GRAY8原始灰色輸入格式進行縮放。
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)GRAY8, width=(int)1280, height=(int)720’! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)I420' ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 –e
- 1
raw-yuv輸出格式:
目前,nvvidconv支持縮放的I420和UYVY raw-yuv輸出格式。
gst-launch-1.0 filesrc location=1280x720_30p.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw, format=(string)I420, width=640, height=480' ! xvimagesink –e
- 1
raw-gray輸出格式:
目前,nvvidconv支持GRAY8原始灰色輸出格式進行縮放。
gst-launch-1.0 filesrc location=1280x720_30p.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw, format=(string)GRAY8, width=640, height=480' ! videoconvert ! xvimagesink –e
- 1
NVIDIA輸入和輸出格式:
目前,nvvidconv支持下表中描述的NVIDIA輸入和輸出格式:
在NVIDIA格式之間縮放:
使用以下命令在NVIDIA格式之間縮放:
gst-launch-1.0 filesrc location=1280x720_30p.mp4 ! qtdemux ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)I420' ! omxh264enc ! qtmux ! filesink location=test.mp4 –e
- 1
gst-launch-1.0 filesrc location=1280x720_30p.mp4 ! qtdemux ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)RGBA' ! nvoverlaysink –e
- 1
gst-launch-1.0 nvcamerasrc fpsRange="30 30" ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! nvtee ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)NV12’ ! omxh264enc ! qtmux ! filesink location=test.mp4
- 1
八、視頻播放
NVIDIA專有的nvvidconv Gstreamer-1.0插件還允許您執行視頻裁剪。
裁剪視頻:
使用以下命令裁剪視頻:
gst-launch-1.0 filesrc location=<filename_1080p.mp4> ! qtdemux ! h264parse ! omxh264dec ! nvvidconv left=400 right=1520 top=200 bottom=880 ! nvoverlaysink display-id=1 –e
- 1
九、視頻轉碼
您可以執行以下視頻格式之間的視頻轉碼。
H.264解碼為VP8編碼(NVIDIA加速解碼為NVIDIA加速編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxvp8enc ! qtmux name=mux ! filesink location=<Transcoded_filename.mp4> demux.audio_0 ! queue ! aacparse ! mux.audio_0 -e
- 1
VP8解碼到H.264編碼(NVIDIA加速解碼到NVIDIA加速編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! omxvp8dec ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxh264enc ! qtmux name=mux ! filesink location=<Transcoded_filename.mp4> demux.audio_0 ! queue ! aacparse ! mux.audio_0 -e
- 1
MPEG-4解碼到VP8編碼(NVIDIA加速解碼到NVIDIA加速編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! mpeg4videoparse ! omxmpeg4videodec ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxvp8enc ! qtmux name=mux ! filesink location=<Transcoded_filename.mp4> demux.audio_0 ! queue ! aacparse ! mux.audio_0 -e
- 1
MPEG-4解碼到H.264編碼(NVIDIA加速解碼到NVIDIA加速編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! mpeg4videoparse ! omxmpeg4videodec ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxh264enc ! qtmux name=mux ! filesink location=<Transcoded_filename.mp4> demux.audio_0 ! queue ! aacparse ! mux.audio_0 -e
- 1
H.264解碼為MPEG-4編碼(NVIDIA加速解碼為OSS軟件編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nvvidconv ! avenc_mpeg4 ! qtmux name=mux ! filesink location=<Transcoded_filename.mp4> demux.audio_0 ! queue ! aacparse ! mux.audio_0 -e
- 1
VP8解碼為MPEG-4編碼(NVIDIA加速解碼為OSS軟件編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! omxvp8dec ! nvvidconv ! avenc_mpeg4 ! qtmux name=mux ! filesink location=<Transcoded_filename.mp4> demux.audio_0 ! queue ! aacparse ! mux.audio_0 -e
- 1
H.264解碼到Theora Encode(NVIDIA加速解碼為OSS軟件編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nvvidconv ! theoraenc ! oggmux name=mux ! filesink location=<Transcoded_filename.ogg> -e
- 1
VP8解碼為Theora Encode(NVIDIA加速解碼為OSS軟件編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! omxvp8dec ! nvvidconv ! theoraenc ! oggmux name=mux ! filesink location=<Transcoded_filename.ogg> -e
- 1
MPEG-4解碼到Theora Encode(NVIDIA加速解碼到OSS軟件編碼)
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! mpeg4videoparse ! omxmpeg4videodec ! nvvidconv ! theoraenc ! oggmux name=mux ! filesink location=<Transcoded_filename.ogg> -e
- 1
十、CUDA視頻后處理
本節介紹CUDA后處理操作的Gstreamer-1.0插件。
gst-videocuda
- 1
該GStreamer-1.0插件在解碼器提供的EGL圖像上執行CUDA后處理操作,並使用nveglglessink渲染視頻。
以下是管道創建和應用程序使用示例。
示例解碼管道:
gst-launch-1.0 filesrc location=<filename_h264_1080p.mp4> ! qtdemux name=demux ! h264parse ! omxh264dec ! videocuda ! nveglglessink max-lateness=-1 -e
- 1
示例解碼命令:
nvgstplayer-1.0 -i <filename_h264_1080p.mp4> --svd="omxh264dec" --svc="videocuda" --svs="nveglglessink # max-lateness=-1" --disable-vnative --no-audio --window-x=0 --window-y=0 --window-width=960 --window-height=540 gst-nvivafilter
- 1
- 2
該NVIDIA專有的GStreamer-1.0插件對CSI相機捕獲或解碼的幀執行前置/后置和CUDA后處理操作,並使用覆蓋視頻接收器或視頻編碼渲染視頻。
示例解碼管道:
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux ! h264parse ! omxh264dec ! nvivafilter cuda-process=true customer-lib-name="libnvsample_cudaprocess.so" ! 'video/x-raw(memory:NVMM), format=(string)NV12' ! nvoverlaysink -e
- 1
示例CSI攝像機管道:
gst-launch-1.0 nvcamerasrc fpsRange="30 30" ! 'video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, format=(string)I420, framerate=(fraction)30/1' ! nvtee ! nvivafilter cuda-process=true customer-lib-name="libnvsample_cudaprocess.so" ! 'video/x-raw(memory:NVMM), format=(string)NV12' ! nvoverlaysink -e
- 1
注意:有關libnvsample_cudaprocess.so庫源,請參閱nvsample_cudaprocess_src.tbz2軟件包。 libnvsample_cudaprocess.so的示例CUDA實現可以由自定義CUDA實現替代。
十一、視頻旋轉
NVIDIA專有的nvvidconv Gstreamer-1.0插件還允許您執行視頻旋轉操作。
下表顯示了nvvidconv flip-method屬性支持的值。
注意:使用gst-inspect-1.0 nvvidconv命令獲取有關nvvidconv flip-method屬性的信息。
將視頻逆時針旋轉90度:
要將視頻逆時針旋轉90度,請輸入以下命令:
gst-launch-1.0 filesrc location=<filename.mp4>! qtdemux name=demux ! h264parse ! omxh264dec ! nvvidconv flip-method=1 ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink –e
- 1
將視頻順時針旋轉90度:
要將視頻沿順時針方向旋轉90度,請輸入以下命令:
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux ! h264parse ! omxh264dec ! nvvidconv flip-method=3 ! 'video/x-raw(memory:NVMM), format=(string)I420’ ! omxh264enc ! qtmux ! filesink location=test.mp4 –e
- 1
旋轉180度:
要旋轉視頻180度,請輸入以下命令:
gst-launch-1.0 nvcamerasrc fpsRange="30.0 30.0" ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! nvtee ! nvvidconv flip-method=2 ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink -e
- 1
將視頻縮放和逆時針旋轉90度:
要將視頻縮放和逆時針旋轉90度,請輸入以下命令:
gst-launch-1.0 filesrc location=<filename_1080p.mp4> ! qtdemux ! h264parse ! omxh264dec ! nvvidconv flip-method=1 ! 'video/x-raw(memory:NVMM), width=(int)480, height=(int)640, format=(string)I420' ! nvoverlaysink -e
- 1
將視頻縮放和逆時針旋轉90度:
要將視頻縮放和順時針旋轉90度,請輸入以下命令:
gst-launch-1.0 nvcamerasrc fpsRange="30.0 30.0" ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! nvtee ! nvvidconv flip-method=3 ! 'video/x-raw(memory:NVMM), width=(int)480, height=(int)640, format=(string)I420' ! nvoverlaysink -e
- 1
將視頻縮放和旋轉180度:
要縮放和旋轉視頻180度,請輸入以下命令:
gst-launch-1.0 filesrc location=<filename_1080p.mp4> ! qtdemux ! h264parse ! omxh264dec ! nvvidconv flip-method=2 ! 'video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)I420' ! nvoverlaysink -e
- 1
十二、用於視頻縮放的插值方法
NVIDIA專有的nvvidconv Gstreamer-1.0插件允許您選擇用於縮放的插值方法。
下表顯示了nvvidconv interpolation-method屬性支持的值。
注意:使用gst-inspect-1.0 nvvidconv命令獲取有關nvvidconv interpolation-method屬性的信息。
使用雙線性插值法進行縮放
輸入以下命令:
gst-launch-1.0 filesrc location=<filename_1080p.mp4>! qtdemux name=demux ! h264parse ! omxh264dec ! nvvidconv interpolation-method=3 ! 'video/x-raw(memory:NVMM), format=(string)I420, width=1280, height=720' ! nvoverlaysink –e
- 1
十三、EGLSTREAM生產商示例
NVIDIA專有的nveglstreamsrc和nvvideosink Gstreamer-1.0插件允許模擬EGLStream生產者管道(僅供預覽)。
模擬EGLStream生產者管道
輸入以下命令:
nvgstcapture-1.0 --camsrc=3 --nvvideosink-create-eglstream
- 1
十四、EGL圖像變換示例
NVIDIA專有的nvegltransform Gstreamer-1.0插件可以模擬EGLImage變換管道。
模擬EGL圖像變換管道
輸入以下命令:
rmc gst-launch-1.0 filesrc location=<filename_h264_1080p.mp4> ! qtdemux ! h264parse ! omxh264dec ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12' ! nvegltransform ! nveglglessink -e
轉載於:https://www.cnblogs.com/huty/p/8517029.html
