ffmpeg工具的使用

2022-02-10 14:54:16 浏览数 (1)

1、多个mp3文件合并成一个mp3文件

ffmpeg64.exe -i "concat:123.mp3|124.mp3" -acodec copy output.mp3

解释:-i代表输入参数

contact:123.mp3|124.mp3代表着需要连接到一起的音频文件

-acodec copy output.mp3 重新编码并复制到新文件中

代码语言:javascript复制
拼接的另一种方式,未验证
$ cat mylist.txt
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

$ ffmpeg -f concat 
-i mylist.txt 
-c copy output

2、音频文件格式转换

ffmpeg64.exe -i null.ape -ar 44100 -ac 2 -ab 16k -vol 50 -f mp3 null.mp3

解释:-i代表输入参数

-acodec aac(音频编码用AAC)

-ar 设置音频采样频率

-ac 设置音频通道数

-ab 设定声音比特率

-vol <百分比> 设定音量

3、ffmpeg实现一张图片 音频合成视频

ffmpeg -loop 1 -i “%img% -i“ %audio%” -c:a copy -c:v libx264 -s 1280x720 -pix_fmt yuv420p -r 15 -shortest "%output%"

-loop 1 :因为只有一张图片所以必须加入这个参数(循环这张图片) -pix_fmt:指定图片输入格式(有yuv420,yuv444等各种格式) -s :指定视频的分辨率 -vcodec libx264:生成视频的编码格式,这里指定的是x264

代码语言:javascript复制
ffmpeg -loop 1 -i *.jpg -i *.mp3 -c:v libx264 -tune stillimage -c:a aac -strict experimental -b:a 192k -pix_fmt yuv420p -shortest out.mp4

4、将视频分割成图像

ffmpeg -i video.flv image%d.jpg

该命令生成名为image1.jpg,image2.jpg等文件...

5、将照片或横幅添加到音频

代码语言:javascript复制
ffmpeg -loop 1 -i image.jpg -i Heaven.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

6、多张图片和音频合成视频

代码语言:javascript复制
ffmpeg -threads 2 -y -r 10 -i /tmpdir/imaged.jpg -i audio.mp3 -absf aac_adtstoasc output.mp4

-threads 2 以两个线程进行运行, 加快处理的速度。

-y 对输出文件进行覆盖

-r 10 fps设置为10帧/秒(不同位置有不同含义,后面再解释)

-i /tmpdir/imaged.jpg 输入图片文件,图片文件保存为 image0001.jpg image0002.jpg ….

-i audio.mp3 输入的音频文件

7、给mp3添加封面:

代码语言:javascript复制
ffmpeg -i in.mp3 -i test.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3

8、截取视频片段:

ffmpeg -i ./plutopr.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.mp4 -y

-ss time_off set the start time offset 设置从视频的哪个时间点开始截取,上文从视频的第10s开始截取 -to 截到视频的哪个时间点结束。上文到视频的第15s结束。截出的视频共5s. 如果用-t 表示截取多长的时间如 上文-to 换位-t则是截取从视频的第10s开始,截取15s时长的视频。即截出来的视频共15s.

注意的地方是: 如果将-ss放在-i ./plutopr.mp4后面则-to的作用就没了,跟-t一样的效果了,变成了截取多长视频。一定要注意-ss的位置。

参数解析 -vcodec copy表示使用跟原视频一样的视频编解码器。 -acodec copy表示使用跟原视频一样的音频编解码器。

-i 表示源视频文件 -y 表示如果输出文件已存在则覆盖。

9. 视频画面上下翻转

ffmpeg -i 0.mp4 -vf vflip a.mp4

左右翻转:

ffmpeg -i 0.mp4 -vf hflip b.mp4

画面顺时针旋转90度:

ffmpeg -i 0.mp4 -vf transpose=1 c.mp4

画面逆时针旋转90°:

ffmpeg -i 0.mp4 -vf transpose=2 d.mp4

10、

0 人点赞