一、安装
- 在网站https://ffmpeg.zeranoe.com/builds/下载压缩包, 解压压缩包到纯英文目录下
- 在“控制面板\系统和安全\系统”里打开“高级系统设置”,在“环境变量”里将“.\ffmpeg-static\bin”添加到path中
- Win+R输入cmd,输入ffmpeg没有报错则安装成功
二、常用命令解释
命令 | 解释 |
---|---|
-h | 帮助 |
-formats | 显示可用的格式、编解码、协议等 |
-c | 音视频编解码器 |
-i D:\input.mp4 | 指定输入的文件 |
-f mp4 | 指定格式为mp4 |
-r 30 | 指定帧率为30,默认为25 |
-b 300 | 指定比特率为300,默认为200 |
-s 480*480 | 指定分辨率为480×480,默认为168×128 |
-aspect 4:3 | 指定纵横比4:3 |
-fs 10MB | 指定文件大小为10MB |
-intra | 指定所有帧为关键帧,便于精确剪辑 |
-vcodec h264 | 指定视频编码方式为h.264 |
-acodec aac | 指定音频编码方式为aac |
-ac <数值> | 指定声道数,1就是单声道,2就是立体声 |
-ar <采样率> | 指定声音采样率,PSP只认24000 |
-ab <比特率> | 指定定声音比特率 |
-vol <百分比> | 指定音量 |
-y | 覆盖输出文件 |
-ss 00:00:00 | 定位到指定时间位置 |
-t 00:00:00 | 持续时间 |
-codec copy | 所有编码不变 |
-vcodec copy | 视频编码不变 |
-acodec copy | 音频编码不变 |
-sameq | 视频质量不变 |
-vn | 删掉视频流 |
-an | 删掉音频流 |
-map 0 | 输入所有数据流 |
-map 0:0 | 输入第1个数据流,一般为视频流,0:1为第2个数据流;此命令输几次就输出文件就多几个数据流,按输入先后顺序在输出视频依次排序 |
-map 0:v | 输入所有视频流 |
-map 0:a:1 | 输入第2个音频流 |
-c copy | 所有数据流不变 |
-c:v copy | 视频编码不变 |
-c:a:0 libmp3lame | 指定第一个音频流的编码为mp3 |
-b:a:0 128k | 指定第一个音频流的比特率为128k |
-c:s copy | 字幕不变 |
三、常用功能
1.无损快速分割视频
ffmpeg -i input.mp4 -ss 00:02:00 -t 00:01:00 -codec copy output.mp4
截取原视频中,自2分钟开始持续一分钟的视频
2.无损快速转换视频
(1)单音轨视频转换
ffmpeg -i input.mkv -c copy output.mp4
或ffmpeg -i input.mkv -codec copy output.mp4
或ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
或ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4
若多音轨视频采用此命令,系统会自动选择一条音轨
(2)多音轨视频转换
ffmpeg -i input.mkv -map 0 -c copy output.mp4
只要第2个音轨
ffmpeg -i input.mkv -vcodec copy -map 0:a:1 -acodec copy output.mp4 -strict -2
-strict -2为了避免输出视频没声音
3.音视频合成
ffmpeg -y –i input.mp4 –i input.mp3 –c copy output.mp4
或ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4
4.字幕
字幕提取
ffmpeg -i input.mkv -an -vn -scodec copy output.ass
字幕增加
srt字幕
ffmpeg -i input.mp4 -vf subtitles=zm.srt output.mp4
ass字幕
ffmpeg -i input.mp4 -vf ass=zm.ass output.mp4
5.视频合并
新建“list.txt”,内容如下
file 'cut1.mp4'
file 'cut2.mp4'
运行代码
ffmpeg -f concat -i list.txt output.mp4
6.转为全部关键帧(体积大增,可精确剪辑)
ffmpeg -i input.mp4 -sameq -intra output.mp4
7.视频转图片
ffmpeg -i input.mp4 -r 1 -f image2 output-%03d.jpeg
视频每一帧存为图片
8.图片转视频
ffmpeg -f image2 -i input-%03d.jpeg output.mp4
一组图片转为视频
网友评论