gst-launch


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM