ffmpeg工具的使用
1、多个mp3文件合并成一个mp3文件
拼接的另一种方式,未验证
$ cat mylist.txt file '/path/to/file1' file '/path/to/file2' file '/path/to/file3' $ ffmpeg -f concat -i mylist.txt -c copy output
-loop 1 :因为只有一张图片所以必须加入这个参数(循环这张图片)
-pix_fmt:指定图片输入格式(有yuv420,yuv444等各种格式)
-s :指定视频的分辨率
-vcodec libx264:生成视频的编码格式,这里指定的是x264
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、将照片或横幅添加到音频
ffmpeg -loop 1 -i image.jpg -i Heaven.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
6、多张图片和音频合成视频
ffmpeg -threads 2 -y -r 10 -i /tmpdir/image%04d.jpg -i audio.mp3 -absf aac_adtstoasc output.mp4
-threads 2 以两个线程进行运行, 加快处理的速度。
-y 对输出文件进行覆盖
-r 10 fps设置为10帧/秒(不同位置有不同含义,后面再解释)
-i /tmpdir/image%04d.jpg 输入图片文件,图片文件保存为 image0001.jpg image0002.jpg ….
-i audio.mp3 输入的音频文件
7、给mp3添加封面:
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、