【ARM-Linux开发】【CUDA开发】NVIDIA TEGRA X1:LINUX驱动程序包多媒体

2019-07-13 04:08发布

NVIDIA TEGRA X1:LINUX驱动程序包多媒体用户指南
  • 转载请注明作者和出处:http://blog.csdn.net/u011475210
  • 嵌入式平台:NVIDIA Jetson TX1
  • 嵌入式系统:Ubuntu16.04
  • 虚拟机系统:Ubuntu14.04
  • 编者: WordZzzz

一、GSTREAMER-1.0 安装和配置 本部分内容将介绍如何安装和配置Gstreamer。 
1.通过如下命令在开发板上安装Gstreamer-1.0: sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
  • 1
2.检查Gstreamer-1.0版本: gst-inspect-1.0-version
  • 1
Gstreamer 1.0版本包括以下gst-omx视频解码器: Gstreamer 1.0版本包括以下gst-omx视频编码器: Gstreamer 1.0版包括以下gst-omx视频接收器: Gstreamer 1.0版包括以下egl图像视频接收器: Gstreamer 1.0版包括以下专有的NVIDIA插件: Gstreamer 1.0版包括以下基于libjpeg的JPEG图像视频编码/解码插件: 注意:在使用gst-launch或nvgstplayer启动视频解码流水线之前,在目标上执行以下命令。 export DISPLAY=:0
  • 1
使用xinit启动X服务器(如果尚未运行)。 
二、解码示例 
本节中的示例显示了如何使用Gstreamer执行音频和视频解码。 
注意:在Tegra(L4T)版本24.2的Linux中,Gstreamer版本0.10的支持已被弃用。 推荐使用Gstreamer 1.0版进行开发。 
1.音频解码示例使用gst-launch-1.0 
以下示例说明如何使用Gstreamer-1.0执行音频解码。 
AAC解码(OSS软件解码) gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.audio_0 ! queue ! avdec_aac ! audioconvert ! alsasink -e
  • 1
AMR-WB解码(OSS软件解码) gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.audio_0 ! queue ! avdec_amrwb ! audioconvert ! alsasink -e
  • 1
AMR-NB解码(OSS软件解码) gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.audio_0 ! queue ! avdec_amrnb ! audioconvert ! alsasink -e
  • 1
MP3解码(OSS软件解码) gst-launch-1.0 filesrc location=<filename.mp3> ! mpegaudioparse ! avdec_mp3 ! audioconvert ! alsasink -e
  • 1
注意:要通过HDMI路由音频,请将alsasink属性设备设置为以下内容: hw:Tegra,3
  • 1
2.视频解码示例使用gst-launch-1.0 
以下示例显示如何在Gstreamer-1.0上执行视频解码。 
H.264解码(NVIDIA加速解码) gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nveglglessink -e
  • 1
H.265解码(NVIDIA加速解码) gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! omxh265dec ! nvoverlaysink -e
  • 1
注意:解码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'