ffmpeg 处理视频项目中用到的一些命令
多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
目前仅接触到了一些初级命令,今天进行了简单整理。
分辨率
1 //智能1:1缩放 2 -i in.mp4 -s 100:100 -vf setsar=1:1 out.mp4 3 //普通缩放 4 -i in.mp4 -strict -2 -vf scale=100:100 out.mp4
视频合成
1 //视频先转为ts格式 2 -i in.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb out.ts 3 //合成 4 -i concat:1.ts|2.ts|3.ts -acodec copy -vcodec copy -absf aac_adtstoasc out.mp4
背景音乐
1 //去除原音频 2 -i in.mp4 -an -vcodec copy out.mp4 3 //添加背景音乐 4 -i in.mp4 -i in.mp3 -vcodec copy out.mp4 5 //设置音量 6 -i in.mp4 -af volume=1dB out.mp4
画中画
1 //左上角 2 -i in1.mp4 -i in2.mp4 "nullsrc=size=200x200 [base]; [0:v] setpts=PTS-STARTPTS,scale=200x200 3 [left]; [1:v] setpts=PTS-STARTPTS, scale=100x100 [right];[base][left] overlay=shortest=1 [tmp1]; 4 [tmp1][right] overlay=shortest=1:x=0" -c:v libx264 out.mp4 5 //左下角 6 -i in1.mp4 -i in2.mp4 "nullsrc=size=200x200 [base]; [0:v] setpts=PTS-STARTPTS,scale=200x200 7 [left]; [1:v] setpts=PTS-STARTPTS, scale=100x100 [right];[base][left] overlay=shortest=1 [tmp1]; 8 [tmp1][right] overlay=shortest=1:x=0:y=200-100" -c:v libx264 out.mp4
倒放
1 //视频倒放,无音频 2 -i in.mp4 -filter_complex [0:v]reverse[v] -map [v] -preset superfast out.mp4 3 //视频倒放,音频不变 4 -i in.mp4 -vf reverse out.mp4 5 //音频倒放,视频不变 6 -i in.mp4 -map 0 -c:v copy -af "areverse" out.mp4 7 //音视频同时倒放 8 -i in.mp4 -vf reverse -af areverse -preset superfast out.mp4
去水印
1 //x、y为水印坐标,w、h为水印大小 2 -i in.mp4 -filter_complex "delogo=x=998:y=15:w=260:h=80" out.mp4
添加水印
1 //图片水印:logopath为水印路径,overlay为水印位置(左上) 2 -i in.mp4 -i logopath -filter_complex overlay=10:10 out.mp4 3 //文字水印 4 -i in.mp4 -vf "drawtext=fontsize=20:fontfile=simsun.ttc:text='文字水印':fontcolor=red:x=10:y=10"