FFplay硬件加速[通俗易懂]

FFplay硬件加速[通俗易懂]本文以ffmpeg-4.4源码为准,a.mp4下载链接:百度网盘,提取码:nl0s。FFplay硬件解码命令如下:ffplay.exe-vcodech264_cuvid-ia.mp4上面命令指定了NVIDIA的硬件解码器,h264_cuvid。在ffplay.c的代码里面硬件解码跟普通解码在逻辑上没有做什么特殊的处理。ffplay.c里面没有像ffmpeg.c那样支持-hwaccel这个选项,所以ffplay.c的硬件解码流程跟普通解码…

大家好,又见面了,我是你们的朋友全栈君。

本文 以 ffmpeg-4.4 源码为准,a.mp4下载链接:百度网盘,提取码:nl0s 。


FFplay 硬件解码命令如下:

ffplay.exe -vcodec h264_cuvid -i a.mp4

上面命令指定了 NVIDIA 的 硬件解码器,h264_cuvid。 在 ffplay.c 的代码里面 硬件解码 跟 普通解码在逻辑上没有做什么特殊的处理。

ffplay.c 里面没有像 ffmpeg.c 那样支持 -hwaccel 这个选项,所以 ffplay.c 的硬件解码流程 跟 普通解码 流程没有区别,至少在 API 函数使用上是这样。

断点查看可以看到,就是 传递一个 解码器名称 进行 avcodec_open2() 函数里面。

FFplay硬件加速[通俗易懂]

使用 ffplay 进行硬件解码的时候,GPU 的性能监控图如下,可以看到,占用率非常低。

FFplay硬件加速[通俗易懂]

ffplay 跟 ffmpeg 解码的时候不一样,这是因为 ffplay 只需要按照帧率去解码即可,ffplay 是播放多少,解码多少。而 ffmpeg 是解码得越快越好。所以 ffmpeg 硬件解码 占用的 gpu 资源会很高,ffmpeg 可以通过 -re 参数控制解码速度。

还有一个地方,ffplay 不支持 -hwaccel 这个选项。

-hwaccel 这个选项 应该是 控制 GPU 进行并行计算的,因为在显卡里,并行计算跟编解码器是两个模块(这个我也不太清楚,知道的朋友可以在文章评论补充一下)


分析完毕

由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,或者希望交流音视频技术的,可以加我微信 Loken1。QQ:2338195090。


推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:

Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149047.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlserver日期转字符串 yyyymmddhhmmss_sql中将date转换为字符串

    sqlserver日期转字符串 yyyymmddhhmmss_sql中将date转换为字符串SELECT CONVERT( datetime, SUBSTRING(intotime,1,8)+”+SUBSTRING(intotime,9,2)+’:’+SUBSTRING(intotime,11,2) )FROM table

    2022年10月8日
  • Git 常用命令

    Git 常用命令

    2021年9月17日
  • 无人机新手基础操作教程

    无人机行业的快速发展使得航拍逐渐流行起来。据本人了解无人机可以生产一些GIS数据。1.起飞与降落练习远离无人机,解锁飞控,缓慢推动油门等待无人机起飞,这就是起飞的操作步骤。其中推动油门一定要缓慢,即使已经推动一点距离,电机还没有启动也要慢慢来。降落时,同样需要注意操作顺序:降低油门,使飞行器缓慢的接近地面;离地面约5-250px处稍稍推动油门,降低下降速度;然后再次降低油门直至无人机触地(触底后不得推动油门);油门降到最低,锁定飞控。相对于起飞来说,降落…

    2022年4月1日
  • web网络聊天室

    web网络聊天室花了四天时间做了一个简单的web聊天室前端页面效果大概是下面这个样子1.登陆界面2.注册界面这里首先会检查用户名是否重复,如果重复,会提示你用户名已存在反正显示可用3.聊天室界面登陆成功会在左边显示登陆人的名称以及当前在线人数。然后在下面可用选择对谁说以及一些文字表情,字体颜色什么的4.聊天功能会显示发送者名称,以及对谁说,语气词,以及发送时间最后总结一下做的…

    2022年6月22日
  • 【小5聊】C#基础之Response.ContentType响应内容类型[通俗易懂]

    【小5聊】C#基础之Response.ContentType响应内容类型[通俗易懂]Response.ContentType1、文本格式:html、xml、txtResponse.ContentType=”text/html”;Response.ContentType=”text/xml”;Response.ContentType=”text/plain”;2、图片格式Response.ContentType=”image/jpg”;…

    2022年7月19日
  • Hydra暴力破解工具的用法

    目录Hydra常见参数破解SSH破解FTP破解HTTP破解3389远程登录Kali自带密码字典dirb…

    2022年4月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号