ffmpeg 硬件解码手册

ffmpeg 硬件解码手册,第1张

https://trac.ffmpeg.org/wiki/HWAccelIntro

如何查看硬件加速

找ffmpeg3.2版本执行ffmpeg -hwaccels

qsv可以解码的类型有h264,h264/hevc,mpeg2,vc1

qsv解码里面已经自带了h264_mp4toannexb的码流转化器,需要先将mp4中的h264码率转换成annexb格式,再进行解码

如果对于非mp4文件中的码流,则绕过了码流转化器。

用qsv编码

ffmpeg -i INPUT -c:v h264_qsv -preset:v faster out.qsv.mp4

用qsv解码

ffmpeg -hwaccel qsv -i INPUT -f null - -benchmark

linux下如何安装intel media sdk

http://blog.csdn.net/nonmarking/article/details/46391767

intel media sdk 2016 [支持intel 酷睿 4,5代cpu]

intel media sdk 2016 [支持intel 酷睿 6代cpu]

硬件编码测试实验

ffmpeg -threads 64 -stream_loop -1 -s 1920x1080 -i out.yuv -c:v h264_qsv -f null out.264

在centos[i6700k] 能编码140fps 【cpu:20%,gpu:63%]

在win7[hd4600,i5,4核心] 能编码85fps 【cpu:65,gpu:52%]

nvenc decoder and encoder

./ffmpeg -c:v h264_cuvid -i out.mp4 /tmp/out.yuv

./ffmpeg  -threads 16 -f lavfi -i testsrc=size=1920x1080 -c:v h264_nvenc out.mp4

如何测试并发编码

步骤基本上从网上抄袭就行。主要是3安装nv-codec-headers的版本,需要跟自己的驱动一致。我由于没有一致,安装cuda,安装其他的什么都没搞定,其中安装驱动还导致重装系统了,血的教训。

(输入命令nvidia-smi查看显卡驱动版本,nv-codec-headers/readme里面查看是否匹配)

如参考:

https://blog.csdn.net/weixin_45091328/article/details/103606433

sudo apt-get -y remove ffmpeg x264 libx264-dev

sudo apt-get -y install build-essential git yasm nasm unzip wget sysstat pkg-config

1.

wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2

然后解压在cd到目录下,再编译安装。

./configure

make

sudo make install

2.

git clone http://git.videolan.org/git/x264.git

cd x264

./configure --disable-cli --enable-static --enable-shared --enable-strip

make -j 4

sudo make install

sudo ldconfig

3.nv-codec-headers

里面有nv-codec-headers/readme,看看跟显卡驱动是否匹配,驱动418对9.0,(输入命令nvidia-smi查看显卡驱动版本)否则会提示:

[h264_nvenc @ 0x1b42940] Driver does not support the required nvenc API version. Required: 9.1 Found: 9.0

https://github.com/FFmpeg/nv-codec-headers/tree/sdk/9.0

cd nv-codec-headers

make

sudo make install

4.

https://github.com/FFmpeg/FFmpeg/tree/release/4.0

./configure --enable-shared --enable-gpl --enable-pthreads --enable-nvenc --enable-cuda --enable-cuvid --enable-libx264 --prefix=/usr/local/ffmpeg

make

sudo make install

5.

sudo gedit /etc/ld.so.conf

add: /usr/local/ffmpeg/lib

sudo ldconfig

6.

sudo gedit ~/.bashrc

FFMPEG="/usr/local/ffmpeg"

export PATH="$FFMPEG/bin:$PATH"

source ~/.bashrc

7.

ffmpeg -version

ffmpeg -codecs | grep cuvid

ffmpeg -codecs | grep nvenc

ffmpeg -encoders | grep 264


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11605626.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存