前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FFmpeg 压缩视频

FFmpeg 压缩视频

作者头像
Jimmy_is_jimmy
发布2022-03-10 14:06:55
1.2K0
发布2022-03-10 14:06:55
举报
文章被收录于专栏:call_me_Rcall_me_R

前不久~

老姐:老弟,我学生快要中考了,我想将他们的点滴视频和图片整理成一个鼓励他们的短片。

我:那你整呗~

老姐:我不会,你来。

我:你自己的学生,我n年前不就跟你说过,拖拉拽就完事了,怎么还是我来。

老姐:没时间,要带娃,跟班。

我:那你发素材过来吧。

A Few Moments Later

老姐:我发了邮箱,你自己根据图片,文档内容和records制作一个视频。

一看素材,图片200+,文档5+,视频2+... 我都要无语了,还要自己将素材串联成故事,扑通一下就跪下了,灵感才是难点啊~

我:(强忍心酸)好的。

完成工具

嗯~ 既然已经把视频的任务接了,那么,就捣鼓起来吧。

因为俺是一个早十晚八的程序员,能够完全自控的时间也就是那点周末时间了。殊不知,花了我两个周末的时间。

如何成片讲故事的灵感至少耗费了我半天~momo

spend_two_week.jpeg
spend_two_week.jpeg

全程两个工具疯狂切换:

之所以选择这两款剪辑软件,一是熟悉,二是里面的模版比较友好,满足我目前一切需求。

比如iMovie的成片模版:

trailers.png
trailers.png

经过四天的捣鼓后,喜提成品:

cheerUp647.png
cheerUp647.png

然后,屁颠屁颠发过去给老姐邀功🙈

可是

send-limit-100.png
send-limit-100.png

FFmpeg压缩视频

这小事情,我将清晰度和尺寸降一降,总还行吧。然而,经过一阵捣鼓,还是没能达到目标啊~

cheerUp254.png
cheerUp254.png

哎,借助网上现成的压缩产品吧~

于是乎百度和谷歌了段时间:

然而尝试了两三个,不是一开始需要会员,就是免费帮你压缩1/3的视频。

cut cut cut掉,怎么可以为了压缩一个视频,就购买一个会员呢?

众里寻他千百度 蓦然回首 那人却在 灯火阑珊处

FFmpeg可以满足我方需求。

about-ffmpeg.png
about-ffmpeg.png

那么,我们要怎么使用它呢?

安装

这里,我使用的是homebrew进行安装。

代码语言:javascript
复制
brew install ffmpeg

其他安装方法,感兴趣的可自行尝试~

ffmpeg-version.png
ffmpeg-version.png
使用

FFmpeg使用起来很简单。

代码语言:javascript
复制
$ ffmpeg -i input.mp4 output.avi

如果你要个性化参数配置的话,可以参考官方的文档

嗯,这里简单的输出就已经满足个人需求了$ ffmpeg -i cheerUp.mp4 cheerUp-wechat.mp4,执行上面的命令行之后,你会在控制台上看到一串串的字节流日志打印出来,喝杯咖啡等待会即可。

tranform-movie.png
tranform-movie.png

完成✅视频的压缩转换后,查看成品:

target-done.png
target-done.png

很好,满足需求。这次可以邀功了!

因为视频播放的gif图上传上去模糊,这里切掉了gif图视频对比。前后对比的视频清晰度差异不大,完全可以接受。如果感兴趣,读者可以自行尝试后,对比前后的视频效果。

其他压缩操作

1. 改变帧率

代码语言:javascript
复制
ffmpeg -i input.mp4  -r 20  output.mp4
  • -r 20:表示帧率设置为 20fps

2. 指定文件大小

代码语言:javascript
复制
ffmpeg -i input.mp4  -fs 15MB  output.mp4
  • fs 20 : 表示文件大小最大值为15MB

把视频截了一部分 --- 这种方法不行

3. 改变分辨率

代码语言:javascript
复制
ffmpeg -i input.mp4 -s vga output.mp4
  • -s vga : 指定分辨率, vga 代表 600*480,也可以换成其他的值

4. 改变码率

视频的原码率是 2.1Mb/s ,压缩为 1.5Mb/s

代码语言:javascript
复制
ffmpeg -i input.mov -b:v 1.5M  output.mp4
  • -b:v 1.5M : 指定码率
  • -b:v :指定视频的码率
  • -b:a : 指定音频的码率
  • 1.5M:码率的值 1.5M 表示 1.5Mb/s

当码率设置为小于 1.5Mb/s 后视频的清晰度会降低很多

5. 去除视频声音

代码语言:javascript
复制
ffmpeg -i input.mp4 -vcodec copy -an output.mp4 
  • -an: 去掉音频
  • -vcodec:视频选项
  • 一般后面加copy表示拷贝

6. 提取视频中的音频

代码语言:javascript
复制
ffmpeg -i input.mp4 -acodec copy -vn output.mp3
// -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝

更多内容参考 FFmpeg常用命令及参数

后话

然而,甲方还是甲方啊。需求改版了妥妥好几次~

下面是邮箱传输视频备份版本

give-movies.png
give-movies.png

值得欣慰的是,那帮兔崽子有点喜欢视频。

Anyway

祝你们金榜题名

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 完成工具
  • FFmpeg压缩视频
    • 安装
      • 使用
        • 其他压缩操作
        • 后话
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档