FFmpeg 常用命令

FFmpeg编译:https://blog.csdn.net/bobcat_kay/article/details/88843778

1剪切

//-d 输出调试日志
//-ss 从第20s开始截取
//-t 截取8s时长的视频
ffmpeg -d -ss 00:00:20 -t 00:00:08 -i /sdcard/input.mp4 -vcodec copy -acodec copy /sdcard/output.mp4

2拼接

(1)保存待拼接的视频到文件 /sdcard/list.txt:

file /sdcard/Movies/Replay_2018.05.08-13.46.mp4
file /sdcard/Movies/Replay_2018.05.08-13.29.mp4

(2)执行拼接命令

ffmpeg -d -y -f concat -safe 0 -i /sdcard/list.txt -c copy /sdcard/Movies/out.mp4

注意:此方式只适用于分辨率和码率一致的无损拼接

3音视频变速

(1)音视频同步变速:

//播放速度X2
ffmpeg -d -y -i /sdcard/input.mp4 -filter_complex [0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a] -map [v] -map [a] /sdcard/output.mp4

//播放速度X4
ffmpeg -d -y -i /sdcard/input.mp4 -filter_complex [0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0,atempo=2.0[a] -map [v] -map [a] /sdcard/output.mp4

//播放速度X0.5
ffmpeg -d -y -i /sdcard/input.mp4 -filter_complex [0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a] -map [v] -map [a] /sdcard/output.mp4

(2)只变速视频:

//播放速度X0.5
ffmpeg -y -i /sdcard/input.mp4 -filter_complex [0:v]setpts=2.0*PTS -an /sdcard/output.mp4

如果不修改音频速度的话建议用MediaExtractor和MediaMuxer,直接修改pts,速度要快很多,1分钟的视频大概只需要2秒钟

(3)只变速音频:

//播放速度X2
ffmpeg -y -i /sdcard/input.mp4 -filter:a atempo=2.0 /sdcard/output.mp4

4生成GIF动图

//-ss 从第20s开始
//-t 持续5秒的时长
//-s gif分辨
//-r gif帧率
ffmpeg -ss 20 -t 5 -i /sdcard/input.mp4 -s 540x303 -f gif -r 8 /sdcard/a.gif

5音视频混合

//volume 视频原声音量和音乐音量
ffmpeg -y -i /sdcard/input.mp4 -i /sdcard/a.mp3 -filter_complex [0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.5[a0];[1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.0[a1];[a0][a1]amix=inputs=2:duration=first[aout] -map [aout] -ac 2 -c:v copy -map 0:v:0 /sdcard/out.mp4

6视频旋转

ffmpeg -i /sdcard/input.mp4 -filter_complex transpose=1 -y /sdcard/output.mp4

7添加水印

ffmpeg -y -i /sdcard/input.mp4 -i sdcard/gamepp/logo.png -acodec copy -filter_complex overlay=1:1 /sdcard/output.mp4

8 转码

ffmpeg -i /sdcard/input.mp4 -b:v 5000k -s 1920x1080 -r 60  -y /sdcard/output.mp4

9 提取视频帧

ffmpeg -i ori.mp4 -r 2 -ss 00:00:05 -t 5 image/image-%3d.jpg

10 旋转

将竖屏拍摄视频旋转为横屏
ffmpeg -d -y -i srcPath -codec copy -map_metadata 0 -metadata:s:v:0 rotate=0 OutPath

你可能感兴趣的:(Android)