视频压缩记录

视频压缩记录

在一个 2h2g 的 centos 服务器测试的
ffmpeg 版本 3.4.2
228.93 => 18.92 (MB)
耗时约 6 分钟

ffmpeg -i video.mp4 -vf scale=720:-2 -c:v libx264 -crf 23 -b:v 6000k -c:a copy  -r 30 output.mp4
  • -i video.mp4: 指定输入视频文件为video.mp4。
  • -vf scale=720:-2: 使用视频滤镜(Video Filter)来缩放视频帧尺寸。scale=720:-2表示将视频宽度设置为720像素,而高度保持原始宽高比不变(即自动计算)。其中“-2”是一个特殊值,意味着根据给定的宽度自动计算高度。
  • -c:v libx264: 设置视频编码器为H.264,使用libx264库进行编码。
  • -crf 23 : 设置恒定质量因子(Constant Rate Factor),范围通常在0到51之间,数值越小,质量越高,文件越大。23是一个相对高质量的设定点,既保证了较好的画质,又避免文件过大。
  • -b:v 6000k : 设置视频比特率(bitrate)为6000 kbps,控制输出文件大小与视频质量之间的平衡。
  • -c:a copy: 对音频流进行处理,这里的copy意味着音频流不进行重新编码,直接复制到输出文件中,以保留原始音频质量并减少编码时间。
  • -r 30 : 设置输出视频的帧率为30帧每秒(fps)。
    最终生成的outputFile4.mp4将会是一个分辨率为720p(或接近720p并保持原始比例)、视频编码为H.264、帧率为30fps、音频未重新编码的视频文件,视频比特率为6000kbps,并且基于CRF 23进行了质量优化。
本作品采用《CC 协议》,转载必须注明作者和本文链接
xcz196
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

怎么不上 H265

1个月前 评论
seth-shi (作者) 1个月前
xcz196 (楼主) 1个月前
xcz196 (楼主) 1个月前
xcz196 (楼主) 1个月前
seth-shi (作者) 1个月前

自己压缩太费服务器了我放弃了,不如直接使用腾讯的或者阿里的媒体处理,花不了几个钱真的,别折腾了!

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!