V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jeddida
V2EX  ›  FFmpeg

有大佬开发过 ffmpeg 吗?用 c++调用 ffmpeg API 解码视频流 CPU 占用率高,求解决办法

  •  
  •   jeddida · 1 天前 · 1573 次点击

    刚接触 ffmpeg 想着写一个播放器玩玩,但是 CPU 占用率一直高,有没有大佬知道怎么回事。没有显卡。

    我测试一个视频的时候还行,视频数量上到了 16 个就开始花屏+卡顿了。

    13 条回复    2024-12-26 21:51:49 +08:00
    wnpllrzodiac
        1
    wnpllrzodiac  
       1 天前 via Android
    这啥玩法,16 路。明显要硬解 加 dxva2
    frayesshi1
        2
    frayesshi1  
       1 天前
    没有显卡---是指没有独立显卡,应该有核显或者集显,反正 cpu 不擅长解码。我如果没有记错的话,ffmpeg 加参数是支持硬解的
    mrzzoxo
        3
    mrzzoxo  
       1 天前
    可以用显卡跑
    ysc3839
        4
    ysc3839  
       1 天前
    建议别写,直接改 mpv 代码吧
    jifengg
        5
    jifengg  
       1 天前   ❤️ 1
    我的建议是,先用 ffplay 试试 16 路播放,如果没问题,那你再参考 ffplay 改代码,如果也有问题,那就不用折腾了。
    shuax
        6
    shuax  
       1 天前
    没有显卡当然玩不转啊,难道集成显卡都没有吗。

    https://trac.ffmpeg.org/wiki/HWAccelIntro
    skkakaka2
        7
    skkakaka2  
       1 天前   ❤️ 1
    没有显卡?如果用 cpu 软解的话,占用率高不是很正常的吗
    jeddida
        8
    jeddida  
    OP
       1 天前
    @shuax
    @skkakaka2
    @wnpllrzodiac
    @frayesshi1 有国产显卡景嘉微的 JM7200 支持 OpenGL
    CodeAllen
        9
    CodeAllen  
       1 天前
    那你这个显卡约等于没有,显卡硬解需要支持才行,哪怕是 Intel A380 ,主流方案就支持几家大厂 Intel 、AMD 、nVidia 。
    如果要搞纯国产,不如试试 RK3588 的开发板,应该是支持硬解的,升腾没了解过不是很清楚,如果不介意老黄家的板子,TX 系列、Orin 系列解码能力应该是更强的,8 路 16 路 1080P 应该手拿把掐。
    capric
        10
    capric  
       23 小时 57 分钟前 via Android
    用 libmpv 启用 hwdec=auto ,或者使用 ffmpeg 硬件加速+libplacebo ,播放器非常复杂,要颜色映射,hdr/sdr ,还要向上向下缩放,还有同步策略和丢帧策略,做不好不是卡就是画面偏色或者资源占用高
    iamzuoxinyu
        11
    iamzuoxinyu  
       22 小时 26 分钟前
    解码是一部分,另一部分也要看看渲染是否用上了硬件加速。
    yankebupt
        12
    yankebupt  
       21 小时 30 分钟前
    单路播放 CPU 占用能小于 6.25%么? 16 路 100%还不算额外损耗
    分辨率不说,编码不说,帧率不说,怎么知道你单路能不能做到 cpu 6%以下啊
    yankebupt
        13
    yankebupt  
       21 小时 25 分钟前
    而且有没有帧同步要求啊,cpu 占用接近满的时候,多路总会有一半的视频错开一帧,如果还要求同步可能又要多加处理比如 buffer 一帧……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:16 · PVG 19:16 · LAX 03:16 · JFK 06:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.