ffmpeg常用命令

视频剪辑:

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi
-ss代表开始时间 -t持续时间

音频剪辑:

ffmpeg -i source_mp3.mp3 -ss 00:01:12 -t 00:01:42 -acodec copy output_mp3.mp3

视频合并:

先将视频变成ts流
ffmpeg -i 1.mp4 -codec copy -acodec copy -vbsf h264_mp4toannexb1.ts
然后将ts流合并成一个ts流
copy/b "1.ts"+"2.ts" /y "combine.ts"
最后将ts流变成MP4等视频

分离视频流:

ffmpeg -i input_file -vcodec copy -an output_file_video
将视频拿出来,不包含音频

分离音频流:

ffmpeg -i input_file -acodec copy -vn output_file_audio
将音频拿出来,不包含视频

改变视频速率

ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv
0.5代表变为原来2倍速度,播放一段视频需要的时间为原来0.5倍。所以当这个值>1时就是减慢视频播放速度。
改变视频中音频sulv
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
为原来2倍,这个值在0.5到2之间,可以使用"atempo=2.0,atempo=2.0"这种串联的形式增加播放速率到4倍

视频转换格式

ffmpeg -i test.h264 -vcodec copy -f mpegts test.ts
其中-vcodec copy代表使用原先的视频选项,-vacodec copy代表使用原先的音频选项,-f代表要想转换成什么格式,
常见的有:mpegts(ts流),mp4,h264等等

获取缩略图

ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg
-t是时间,也可以加-ss表示从哪里开始算-t的时间。

常见参数

-s 视频分辨率
-r 视频帧率
-b 设置视频比特率
-ar 设置音频采样率
-y 覆盖原有文件

mp4box

MP4的视频和m4a音频混合,ffmpeg有:
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
但是网上说效果不如使用mp4box好,

对于MP4的音频合视频合并,使用mp4box效果更好。命令:

mp4box -add input.mp4 -add input.m4a output.mp4

mp4合并

mp4box -cat test1.mp4 -cat test2.mp4 -new test.mp4
mp4box提供了ui:YAMB

你可能感兴趣的:(ffmpeg常用命令)