强大的FFmpeg工具基本能满足日常需求,记录ffmpeg使用过程中的功能,以便日后查看。
---------------------------------------------------------------------------------------------------------------------------------------------------
一、转码
视频转码:
ffmpeg -i test.mp4 -vcodec h264 out_h264.flv
-i 后面test.mp4是输入文件名,-vcodec后面h.264是编码格式,最后out_h264.flv是输出文件名
音频转码:(mp3转wav)
ffmpeg -i test.mp3 -f wav test_wav.wav
二、调整播放速度
调整视频文件中视频速度:
ffmpeg -i test.mp4 -an -filter:v "setpts=0.5*PTS" out_test.mp4
-i 后满test.mp4是输入文件名
-an 将音频禁掉 (可以不加)
-filter:v 对视频进行处理
"setpts=0.5PTS" 设置时间戳参数PTS为原先的一半,可接受调整范围为[0.25,4]
out_test.mp4 输出视频文件
还可以在命令中加上指定fps(-r 60),使得不会丢帧
调整视频文件中音频速度:
ffmpeg -i test.mp4 -filter:a "atempo=2.0" -vn out_test.mp4
-i 后满test.mp4是输入文件名
-filter:a 对音频进行处理
"atempo=2.0" 设置播放速度是原来的2倍 , 倍率调整范围[0.5, 2.0]
-vn 将视频禁掉 (可以不加)
out_test.mp4 输出视频文件
需要调整到4倍可以采取以下方法:
ffmpeg -i test.mp4 -filter:a "atempo=2.0,atempo=2.0" -vn out_test.mp4
同时调整视频文件的视频、音频:
ffmpeg -i test.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" out_test.mp4
调整音频文件播放速度:
ffmpeg -i jiangzhende.mp3 -filter:a "atempo=2.0" out_jiangzhende.mp3
三、剪切
ffmpeg -ss 00:00:05 -t 00:00:10 -i test.mp4 -vcodec copy -acodec copy cut_test.mp4
-ss 开始时间: 00:00:05 表示从第5秒开始剪切
-t 时长: 00:00:10表示截取10秒长的视频
-i 输入文件名 :test.mp4
-vcodec copy 和 -acodec copy表示所要使用的视频和音频的编码格式,这里指定为copy表示原样拷贝
cut_test.mp4 : 输出视频文件
四、合并
首先需要将合并的视频文件名称写入一个文本中,如新建一个 filelist.txt 文件,里面包含以下内容:
file 'cut_test.mp4'
file 'cut_test2.mp4'
然后执行命令:
ffmpeg -f concat -i filelist.txt -c copy out_mix.mp4
即可将 filelist.txt 文件中的视频片段合并成一个视频。