当前位置: 首页 > news >正文

基本多线程编译make命令

背景:
在ffmpeg源码编译的时候要等很久,快下班了,等不及。

解决方法:
使用多线程编译。
make -j{n}
如:

make -j8

详解:没时间看的可以返回了!

在编译 FFmpeg 时使用多线程可以显著加快编译速度。以下是使用 make 进行多线程编译的详细指南:

基本多线程编译命令

make -j$(nproc)

解释

  • -j:启用多线程编译
  • $(nproc):自动获取系统 CPU 核心数量(推荐方式)

替代指定线程数的方式

  1. 自动检测核心数

    # Linux/macOS
    make -j$(sysctl -n hw.ncpu)  # macOS
    make -j$(nproc)              # Linux
    
  2. 手动指定线程数

    make -j4     # 使用 4 个线程
    make -j8     # 使用 8 个线程
    make -j16    # 使用 16 个线程
    
  3. 不限制线程数(不推荐,可能导致系统过载):

    make -j
    

完整编译流程(带多线程优化)

# 1. 进入 FFmpeg 源码目录
cd FFmpeg# 2. 配置编译选项(根据需要调整)
./configure --enable-libwebp --enable-gpl --enable-libx264# 3. 多线程编译(使用所有可用核心)
make -j$(nproc)# 4. 安装(需要 sudo 权限)
sudo make install

多线程编译的最佳实践

  1. 核心数量选择

    • 理想线程数 = CPU 物理核心数 × 2
    • 例如 4 核 CPU 使用 -j8
    • 使用 tophtop 监控系统负载
  2. 内存考虑

    # 内存不足时减少线程数
    make -j$(($(nproc)/2))  # 使用一半核心数
    
  3. 错误处理

    # 编译失败后重新尝试(单线程调试)
    make -j1 V=1  # V=1 显示详细错误
    
  4. 结合 ccache 加速

    # 安装 ccache
    sudo apt install ccache# 配置时启用 ccache
    export CC="ccache gcc"
    export CXX="ccache g++"
    ./configure --enable-libwebp# 多线程编译
    make -j$(nproc)
    

各平台建议线程数

系统配置推荐线程数示例命令
双核 CPU-j4make -j4
四核 CPU-j8make -j8
八核 CPU-j16make -j16
16 核服务器-j32make -j32
内存 < 8GB-j$(nproc)/2make -j$(($(nproc)/2))

验证安装

# 检查 libwebp 支持
ffmpeg -version | grep libwebp# 测试动态 WebP 转换
ffmpeg -i input.webp -c:v libx264 output.mp4

提示:首次编译可能需要 10-30 分钟(取决于硬件),使用多线程可显著缩短时间。八核处理器上使用 -j16 通常比单线程快 6-8 倍。

相关文章:

  • 离线部署openstack 2024.1 glance
  • LLM 系列(二) :基础概念篇
  • ThinkPad 交换 Ctrl 键和 Fn 键
  • shell 中的 expect工具
  • 通过知识整合重新审视医学图像检索|文献速递-深度学习医疗AI最新文献
  • MES生产工单管理系统,Java+Vue,含源码与文档,高效统筹生产流程,精准管控工单执行与进度
  • 离线部署openstack 2024.1控制节点glance
  • 理解什么是并查集
  • 语音合成之二十 VITS模型详解与MeloTTS实现
  • 力扣HOT100之贪心算法:55. 跳跃游戏
  • 大模型实战篇之ChatGPT(国内可以用)一、实现连续对话智能体
  • 利用高分辨率卫星遥感数据以更智能、更快速的方式勘测评估能源开采现场
  • 金蝶云星空·旗舰版与领星:赋能跨境电商的业财一体化解决方案
  • 实战案例-FPGA如何实现JESD204B最小确定性延迟
  • 增强自注意力机制CeAtt,增强局部细节!
  • 【软考中级】软件设计师考试大纲
  • JavaWeb期末速成 样题篇
  • 【AI论文】Qwen3 嵌入:通过基础模型推进文本嵌入和重新排序
  • 12.安卓逆向2-frida hook技术-HookJava重载方法
  • 飞书多维表格利用 Amazon Bedrock AI 能力赋能业务
  • 微信公众号做公司网站/东莞今日新闻大事
  • vs2013做网站教程/中国最新消息新闻
  • 十大营销网站/学校网站建设
  • 小说网站怎么建设的/5118网站如何使用免费版
  • 亿级流量网站架构/广州seo推广培训
  • 5个月的新站网站被k了会怎么样/百度手机助手安卓版