美文网首页ffmpeg
ffmpeg 硬件解码手册

ffmpeg 硬件解码手册

作者: 斗破苍穷 | 来源:发表于2016-12-13 10:49 被阅读5651次

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

    如何查看硬件加速器

    找ffmpeg3.2版本执行ffmpeg -hwaccels

    1.在ffmpeg命令行里面做硬件解码是通过ffmpeg -hwaccel [qsv/dvda2] 来指定解码器类型,否则默认是采用软件解码方式

    2.编程方式来使用硬件解码器可以参考example/qsvdec.c这个程序

    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

    ffmpeg -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -i f:/test.yuv -c:v h264_qsv -preset:v faster out.264

    这个命令会以最高的帧率来编码,会耗费大量的cpu在内存拷贝上,也会耗费cpu

    ffmpeg -benchmark -hwaccel qsv -re -i f:/test.avi -c:v h264_qsv  -f null out.null

    这个命令会做基准测试,并且按文件的实际帧率来编码,并且不会产生文件读写

    这个可以设置文件的循环次数,可以讲一个很短的文件多次读取.

    -stream_loopnumber(input)

    Set number of times input stream shall be looped. Loop 0 means no loop,

    loop -1 means infinite loop.

    用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

    如何测试并发编码

    相关文章

      网友评论

        本文标题:ffmpeg 硬件解码手册

        本文链接:https://www.haomeiwen.com/subject/jwnfettx.html