Mac 使用 FFmpeg 处理视频

准备工作

使用 homebrew 下载 FFmpeg

brew install ffmpeg

下载好后更新一下 .zsh 方便 tab 提示

source ~/.zshrc

查看视频信息 

 使用命令 

ffprobe test.mp4


处理视频

  • 将一个30M大小的 mp4 文件,无损压缩到 20M 以内(设置码率为2m,指定 视频 libx264格式,音频不变)
ffmpeg -i test.mp4 -b:v 2m -maxrate 2m -bufsize 2m -c:v libx264 -c:a copy -f mp4 a.mp4

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a copy output.mp4
-crf 23: 这是关键的部分。CRF(Constant Rate Factor)控制了视频的质量和压缩比。较低的CRF值会提供更高的质量,而较高的CRF值会提供更高的压缩。CRF值通常在0到51之间,其中0表示无损,23是一个合理的默认值。您可以尝试不同的CRF值以获得满足您需求的压缩质量。 

  • 只提取视频,不要声音(-an 不处理音频)
ffmpeg -i test.mp4 -vcodec copy -an out.mp4
  • 格式转换


处理音频

  1. 有时候不想看视频,只想听声音,那我们就把音轨单独分离出来(将 test.mp4 的音轨以 mp3 的形式 输出成out.mp3)
ffmpeg -i test.mp4 -acodec mp3 -vn out.mp3


添加字幕

首先需要自己制作 .ass 字幕文件

在 http://www.aegisub.org/ 下载对应平台的软件,然后制作即可,全中文,摸索10分钟即可开始制作字幕

制作好后保存为  .ass 字幕文件

ffmpeg -i test.mp4 -i a.ass -c:a copy -c:v libx264 -vf ass=a.ass -f mp4 out.mp4

将 a.ass 字幕文件 加到 test.mp4中 并且使用 libx264 进行压缩


下载 m3u8 文件

网上看视频,F12 发现是 m3u8 格式的

为很多个 ts 每一个都是短短的几秒,组合起来变成一个大视频,如何使用 FFmpeg 下载并转换成mp4格式呢

ffmpeg -i "https://hong.tianzhen-zuida.com/20191220/16478_479990e8/index.m3u8" -c copy -f mp4 39.mp4

 引号内的是 网址,39是名称

可以开启多个控制台 多线程下载


制作 gif

ffmpeg -ss 00:00:00 -t 14 -i shehui.mp4 -s 335x250 -r "15" dongtu.gif

1、ffmpeg 是你刚才安装的程序;

2、 -ss 00:00:03 表示从第 00 分钟 03 秒开始制作 GIF,如果你想从第 9 秒开始,则输入 -ss 00:00:09,或者 -ss 9,支持小数点,所以也可以输入 -ss 00:00:11.3,或者 -ss 34.6 之类的,如果不加该命令,则从 0 秒开始制作;

3、 -t 3 表示把持续 3 秒的视频转换为 GIF,你可以把它改为其他数字,例如 1.5,7 等等,时间越长,GIF 体积越大,如果不加该命令,则把整个视频转为 GIF;

4、 -i 表示 invert 的意思吧,转换;

5、 video.mp4 就是你要转换的视频,名称最好不要有中文,不要留空格,支持多种视频格式;

6、 -s 640x360 是 GIF 的分辨率,视频分辨率可能是 1080p,但你制作的 GIF 可以转为 720p 等,允许自定义,分辨率越高体积越大,如果不加该命令,则保持分辨率不变;

7、 -r “15” 表示帧率,网上下载的视频帧率通常为 24,设为 15 效果挺好了,帧率越高体积越大,如果不加该命令,则保持帧率不变;

8、 dongtu.gif 就是你要输出的文件,你也可以把它命名为 hello.gif 等等。

通过 -t、-s、-r 就可以控制 GIF 的体积、清晰度、流畅度,非常自由。

链接:https://www.jianshu.com/p/b1820e3eefbf
 


视频剪切

就可以从时间为00:00:15开始,截取5秒钟的视频 

ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4

视频拼接

将若干的视频,拼接成一个

新建文本文件 filelist.txt:

file '1584428522693118.mp4'
file '1584428523280782.mp4'

ffmpeg -f concat -i filelist.txt -c copy output.mp4 


只提取音频

ffmpeg -i 晓松奇谈.mp4 -acodec copy -vn output.aac

替换音频

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4

   如果视频中已经有音频的话

ffmpeg -i test.mp4 -i output.mp3 -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 output.mp4 

剪切音频

  需要剪切音频中的一部分,比如 将素材音频 input 从 16秒处 开始截取,截取 7.2秒的音频,输出为 output

ffmpeg -i input.mp3 -ss 00:00:16 -t 00:00:07.2 -acodec copy output.mp3

解码Mp3

通过QQ音乐或者其他音乐软件下载的音乐,转码成 MP3格式 (2023年1月 该方法失效)

 ffmpeg -i 1.flac -acodec mp3 -vn output.mp3

推荐网站,需要科学上网 https://demo.unlock-music.dev/ 


解码视频.qsv 格式

 截止 2023年1月 有效

 ffmpeg -i .\2.qsv 1.mp4

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值