xHiveAI-Jetson-NX盒子音视频流硬件解码
xHiveAI Jetson NX盒子:音视频流硬件解码
Nvidia提供gstreamer和ffmpeg两种方法来实现对于音视频流的解析和硬件解码操作。我们的盒子基于Nvidia标准release的ffmpeg4.2.2来实现该功能。
获取示例代码
git clone
音视频解码的代码路径为: jetson/hd_decoder/ffmpeg
编译示例代码
copy代码到盒子上
scp -r ffmpeg root@
:/root
ssh登录盒子后,执行以下命令来编译代码:
cd /root/ffmpeg
make
编译成功后,生成可执行文件: ffmpeg_hd_decoder
执行示例代码
示例程序解析输入的视频流,把硬件解码后的YUV图片数据写入文件。该文件可以在PC上用查看原始YUV/RGB数据的图片工具来验证是否工作正常。
命令的格式如下:
./ffmpeg_hd_decoder
./ffmpeg_hd_decoder (compiled Jul 19 2022)
Usage ./ffmpeg_hd_decoder [OPTION]
-i
-o
: output file path -c
(default: 1) : the number of video frames -h, –help : print this help and exit
-i: 输入的视频流可以为: http, rtsp, file 等格式
-o: 输出YUV文件的路径
-c: 指定输出几帧图片。默认是1帧
例子:
./ffmpeg_hd_decoder -i rtsp://admin:Apoidea_ -o out.yuv
在操作实时rtsp流的时候,可能会遇到播放视频滞后的问题(譬如,你在camera前作出一个动作,但是解码后显示到LCD上有一定的延时)。这可以通过调整"nobuffer",“probesize” 等参数可以大幅减少这种delay。