如何使用ffmpeg高效的压缩视频

不开启多线程压缩:

ffmpeg -y -i 1_input.mp4 -c:a copy -c:v libx264 -profile:v high -r 30 -crf 30 -s 1920x1080 -movflags +faststart 1_output.mp4

开启硬件和多线程压缩

ffmpeg -y -i 2_input.mp4 -c:a copy -c:v libx264 -profile:v high -r 30 -crf 30 -b:v 200k -s 1920x1080 -movflags +faststart 2_output.mp4 -hwaccel cuvid -threads 4

这段命令是使用 ffmpeg 工具来对一个视频文件进行转码和编辑。逐个解释每个参数:

  1. ffmpeg: 这是命令行工具的名称,用于处理多媒体内容,如视频、音频和字幕。
  2. -y: 如果输出文件已存在,这个选项会使得 ffmpeg 直接覆盖它,而不是询问是否覆盖。
  3. -i 2_input.mp4: 指定输入文件的名称,这里是 2_input.mp4
  4. -c:a copy: 这表示复制音频流而不进行转码。也就是说,音频部分不会重新编码,直接复制。
  5. -c:v libx264: 使用 libx264 编码器来转码视频流。libx264 是一个非常流行的 H.264 编码器。
  6. -profile:v high: 设置视频的 H.264 配置文件为 high。这决定了编码的复杂性和视频的质量。
  7. -r 30: 设置视频的帧率为 30 fps。
  8. -crf 30: 设置视频的质量。CRF值越小,质量越高,但文件大小也越大。CRF是Constant Rate Factor的缩写,这是一个相对质量/文件大小的度量。
  9. -b:v 200k: 设置视频的比特率为 200 kbps。这决定了视频的质量和文件大小。
  10. -s 1920x1080: 设置视频的分辨率为 1920x1080,即1080p。
  11. -movflags +faststart: 这个选项将视频文件放在“快速启动”轨道上,这使得视频在某些浏览器或平台上可以更快地开始播放。
  12. 2_output.mp4: 指定输出文件的名称,这里是 2_output.mp4
  13. -hwaccel cuvid: 使用 cuvid 硬件加速来进行视频编码。这通常用于NVIDIA的GPU,以加速H.264编码过程。
  14. -threads 4: 使用4个线程来进行编码工作。这可以提高编码速度,但具体效果取决于硬件和具体任务。

总结:这个命令从输入文件 2_input.mp4 中读取内容,对其音频流进行复制,对视频流使用 libx264 编码器进行转码,并应用一系列的参数设置,然后将结果保存为 2_output.mp4 文件。

存在的问题:

1. 直接这么使用,或导致CPU拉满, 特别是批量压缩时会导致电脑卡死可以考虑限制CPU
2. 感觉有没有开启硬件和多线程, 速度上查不了太多
3. 压缩前1.93G ,压缩后300MB左右 , 压缩时间大概是340s左右 压缩率达90%(这个和参数设置有关)
4. 压缩的关键参数: 分辨率, 帧率,

相关推荐

  1. 如何使用ffmpeg高效压缩视频

    2023-12-18 07:16:06       40 阅读
  2. FFmpeg压缩视频大小

    2023-12-18 07:16:06       9 阅读
  3. ffmpeg压缩视频

    2023-12-18 07:16:06       4 阅读
  4. python视频处理FFmpeg使用

    2023-12-18 07:16:06       10 阅读
  5. QT5.14.2 视频分帧:QT与FFmpeg高效结合

    2023-12-18 07:16:06       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 07:16:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 07:16:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 07:16:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 07:16:06       18 阅读

热门阅读

  1. C语言学习day09:运算符(下)

    2023-12-18 07:16:06       37 阅读
  2. 【Vue3练习】Vue3使用v-model以及多个v-model

    2023-12-18 07:16:06       36 阅读
  3. vue模板语法

    2023-12-18 07:16:06       35 阅读
  4. 数据结构 | 二叉树的遍历(递归&非递归)

    2023-12-18 07:16:06       34 阅读
  5. 【NeurIPS 2023】多模态联合视频生成大模型CoDi

    2023-12-18 07:16:06       45 阅读
  6. React Hooks解决了什么问题?

    2023-12-18 07:16:06       40 阅读
  7. AutoJs学习-某点阅读自动签到任务脚本

    2023-12-18 07:16:06       35 阅读
  8. Node.js初学习

    2023-12-18 07:16:06       41 阅读
  9. Axure的交互样式和情形

    2023-12-18 07:16:06       38 阅读
  10. tp如何开启监听SQL

    2023-12-18 07:16:06       35 阅读