【笔记】ffmpeg学习笔记

前言

ffmpeg学习笔记

下载

MacOS

1
brew install ffmpeg

转换文件格式

-y:覆盖输出文件

音频

-ar 44100:指定采样率
-ab 192k:指定比特率
-ac 2:指定音频通道数,1为单通道,2为立体声

1
ffmpeg -i <input_file>.wav <output_file>.mp3

视频

  • 根据输入和输出文件的扩展名自动转换文件格式

-c:v mpeg4:指定视频解码器
-c:a mp3:指定音频解码器
-b:v 1M:改变比特率
-r 30:改变帧率
-s 1920*1080:改变分辨率

1
ffmpeg -i <input_file>.mov <output_file>.mp4

转换字幕文件

1
ffmpeg -i <input_file>.srt <output_file>.ass

合并

  • 定义清单文件
<list_file>.txt
1
2
flie '1.mp4'
flie '2.mp4'
  • 根据清单文件合并音频或视频
1
ffmpeg -i <list_file>.txt -f concat -c copy <output_file>.mp4

截取

-ss 00:00:00:定义截取开始时间
`-t 00:00:01:定义截取结束时间

1
ffmpeg -i <input_file>.wav -ss 00:00:00 -t 00:00:01 -c copy <output_file>.wav

切割

-segment_time 10:指定切割后的每一段最大为10秒
-c copy %d.wav:指定文件名为数字序列

1
ffmpeg -i <input_file>.wav -f segment -segment_time 10 -c copy %d.wav

视频中添加字幕

1
ffmpeg -i <input_file>.mp4 -vf ass=<file>.ass <output_file>.mp4

音频响度归一化

获取音频文件的最大响度

Linux & MacOS

1
ffmpeg -i <input_file>.wav -af "volumedetect" -vn -sn -dn -f null /dev/null

Windows

1
ffmpeg -i <input_file>.wav -af "volumedetect" -vn -sn -dn -f null NUL

对音频进行修正

  • 如果最大响度不等于0,就修正为0
    • 如果最大响度为-5,为了修正为0,就+5,-af "volume=5dB"
    • 如果最大响度为+5,为了修正为0,就-5,-af "volume=-5dB"

avi

1
ffmpeg -i <input_file>.avi -af "volume=5dB" -c:v copy -c:a libmp3lame -q:a 2 <output_file>.avi

其他

1
ffmpeg -i <input_file>.wav -af "volume=5dB" <output_file>.wav

完成

参考文献

CSDN——eric.pyt
哔哩哔哩——鱼C-小甲鱼
CSDN——午夜零时
CSDN——kunyus