美文网首页
FFmpeg编码时候特别耗内存和CPU

FFmpeg编码时候特别耗内存和CPU

作者: Johnny_Wu | 来源:发表于2020-02-10 16:45 被阅读0次

项目需要加入编码功能,我就重新编译了ffmpeg库,并带上libx264编码库。
编码时候发现有两个问题:
1、很耗内存和CPU。
2、编码速度慢,很久才出来第一个编码的内容
查了下资料,可以在配置编码上下文时候,通知设置这些数据解决。

//preset: ultrafast, superfast, veryfast, faster, fast,
//medium, slow, slower, veryslow, placebo
av_opt_set(en_CodecCtx->priv_data, "preset", "ultrafast", 0);
//tune: film, animation, grain, stillimage, psnr,
//ssim, fastdecode, zerolatency
av_opt_set(en_CodecCtx->priv_data, "tune", "zerolatency", 0);
//profile: baseline, main, high, high10, high422, high444
av_opt_set(en_CodecCtx->priv_data, "profile", "main", 0);

解决了编码速度慢和耗内存的问题。但CPU还是占用比较大。查资料说可以通过控制线程数:

en_CodecCtx->thread_count = 2;

配的线程数越少,确实cpu越少,但也没特别小。又怕会影响到编码,就不配了。占CPU大的留到后面解决吧。

具体配置en_CodecCtx->priv_data的作用可以参考:
https://wenku.baidu.com/view/f4e48c087fd5360cba1adbba.html

https://blog.csdn.net/qq_17368865/article/details/79101659

相关文章

  • FFmpeg编码时候特别耗内存和CPU

    项目需要加入编码功能,我就重新编译了ffmpeg库,并带上libx264编码库。编码时候发现有两个问题:1、很耗内...

  • 线上问题

    cpu100% 利用top工具找到最耗CPU的进程 查看该进程中最耗CPU的线程 通过jstack查找该线程 内存...

  • iOS音视频开发-视频软编码(x264编码H.264文件)

    视频软编码: 软编码主要是利用CPU编码的过程,通常为FFmpeg+x264。 FFmpegFFmpeg是一个非常...

  • iOS软编码实现

    iOS视频软编码 软编码介绍 软编码主要是利用CPU进行编码的过程, 具体的编码通常会用FFmpeg+x264 F...

  • CentOs7排查CPU高占用

    一、查看CPU高占用 PS:P按照CPU排序显示,M按照内存排序; 二、查看进程中最占CPU的线程 三、最耗CPU...

  • 注意iOS开发中多线程的坑

    常驻线程 线程过多占内存、耗CPU 开辟的每个线程都会占用内存(主线程1M,其他线程512KB)CPU需要在多个线...

  • H264码流分析

    ffmpeg 中使用 H264 编码 ffmpeg 已经有实现好了编码器,调用的时候指定AV_CODEC_ID_H...

  • 5.配置选型

    5.3.2服务器CPU/内存配置模型 2.CPU与内存资源比:1:2特别适合WEB服务/应用类,这些应用都对CPU...

  • CPU%100问题排查

    1、找到最耗CPU的进程2、找到最耗CPU的线程3、查看堆栈,定位线程,定位对应代码 步骤一、找到最耗CPU的进程...

  • iOS8系统H264视频硬件编解码说明

    公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和...

网友评论

      本文标题:FFmpeg编码时候特别耗内存和CPU

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