FFmpeg常用命令及常用示例

简单熟悉下参数

主要参数:

-i 设定输入流
-f 设定输出格式
-ss 开始时间 视频参数
-t 时长,如: 00:00:10,表示截取10秒长的视频;如果不设定,表示裁剪到文件尾
-b 设定视频流量,默认为200Kbit/s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器 ,可使用copy表示原样拷贝

音频相关:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频

以下几个常用实例亲测通过

1.根据视频生成gif

//vframes 帧数
ffmpeg -i /storage/emulated/0/video.mp4 -ss 00:00:10 -vframes 30 -y -f gif /storage/emulated/0/output1.gif

2.根据视频剪切一段视频(如果执行很长时间,可能这个视频有问题,换个试试)

//剪切视频 -r 提取图像频率, -ss 开始时间, -t 持续时间
ffmpeg -i /storage/emulated/0/video.mp4 -ss 00:10:00 -t 00:00:20 -acodec copy -vcodec copy /storage/emulated/0/skscut.mp4

3.根据视频生成图片

ffmpeg -i /storage/emulated/0/video.mp4 -ss 00:00:20 -t 1 -r 1 -q:v 2 -f image2 /storage/emulated/0/pic-103d.jpeg

4对视频画面顺时针旋转90°

ffmpeg -i /storage/emulated/0/video.mp4 -acodec copy -vcodec libx264 -b 800k -vf transpose=1 /storage/emulated/0/video90.mp4

5.缩放视频

//“-1” 表示由原始视频的宽高比自动计算而,可以自己填
ffmpeg -i /storage/emulated/0/video.mp4 -vf scale=-1:480 -acodec aac -vcodec h264 /storage/emulated/0/videoscale.mp4

6.修改视频指定宽高

ffmpeg -y -i /storage/emulated/0/myv.mp4 -s 2280*1080 /storage/emulated/0/myv22.mp4

推荐一个喜欢的库

https://github.com/bravobit/FFmpeg-Android,该库是由 WritingMinds/ffmpeg-android-java (作者已经2年没更新了)发展过来的,个人觉得不错。

你可能感兴趣的:(FFmpeg常用命令及常用示例)