微网站建设制作,电影网站怎么建设,三足鼎立小程序开发公司,北京移动端网站设计最近在用Jetson Xavier NX板子做视频处理#xff0c;但是CPU进行视频编解码#xff0c;效率比较地下。
于是便考虑用硬解码来对视频进行处理。
通过jtop查看#xff0c;发现板子是支持 NVENC硬件编解码的。 1、下载源码
因为需要对ffmpeg进行打补丁修改#xff0c;因此需…最近在用Jetson Xavier NX板子做视频处理但是CPU进行视频编解码效率比较地下。
于是便考虑用硬解码来对视频进行处理。
通过jtop查看发现板子是支持 NVENC硬件编解码的。 1、下载源码
因为需要对ffmpeg进行打补丁修改因此需要编译两份源码
1.1、编译jetson-ffmpeg
1、下载jetson-ffmpeg (https://github.com/Keylost/jetson-ffmpeg) 源码
2、 编译jetson-ffmpeg
下载后依次执行如下命令进行编译
cd jetson-ffmpeg
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
1.2、编译ffmpeg
1、下载ffmpeg源码
本博文 以 4.2版本为例
git clone git://source.ffmpeg.org/ffmpeg.git -b release/4.2 --depth1
2、下载patch补丁
网络上不少提示补丁地址
https://github.com/Keylost/jetson-ffmpeg/raw/master/ffmpeg_patches/ffmpeg4.2_nvmpi.patch
但是我执行报错。
最后发现在jetson-ffmpeg下面就有相应的patch版本
ll ffmpeg_patches/
total 116
drwxr-xr-x 2 root root 4096 10月 30 19:11 ./
drwxr-xr-x 8 root root 4096 10月 30 19:11 ../
-rw-r--r-- 1 root root 34433 10月 30 19:11 ffmpeg4.2_nvmpi.patch
-rw-r--r-- 1 root root 34216 10月 30 19:11 ffmpeg4.4_nvmpi.patch
-rw-r--r-- 1 root root 34497 10月 30 19:11 ffmpeg6.0_nvmpi.patch将 对应的 ffmpeg4.2_nvmpi.patch 拷贝到ffmpeg目录下
3、升级补丁
执行如下命令进行补丁升级4
git apply ffmpeg4.2_nvmpi.patch
ffmpeg4.2_nvmpi.patch:249: trailing whitespace.ffmpeg4.2_nvmpi.patch:271: trailing whitespace.ffmpeg4.2_nvmpi.patch:351: trailing whitespace.ffmpeg4.2_nvmpi.patch:353: trailing whitespace.ffmpeg4.2_nvmpi.patch:359: trailing whitespace.warning: squelched 21 whitespace errors
warning: 26 lines add whitespace errors.4、编译ffmpeg
配置
mkdir build
cd build/
../configure --prefix../ffmpeg_install编译
make
make install
编译完成。
2、测试
执行如下命令即可以使用硬编码
ffmpeg -c:v h264_nvmpi -rtsp_transport tcp -i rtsp -hls_time 10 -hls_list_size 1 -hls_flags delete_segments -f hls index.m3u8
运行jtop 查看 已经调动了硬编码与硬解码