ffmpeg相关命令

视频转码

  • dav转化为mp4格式
ffmpeg -i 2021-08-10.dav -codec copy 11.mp4
  • 二进制文件转为mp4格式
// -c:v 指定视频流编码器,不指定编码会默认用mp4这种容器的默认音视频编码进入编码
// copy:不重新编码直接copy源视频流

ffmpeg -i 1701687125-4fc72a-0100-2988 -c:v copy 1.mp4
ffmpeg -i in.mkv -c:v libx264 -c:a libmp3lame out.mp4

ffmpeg剪切视频文件命令

ffmpeg -ss 00:03:00 -i video.mp4 -t 60 -c copy cut.mp4

ss后面指定的时间轴,-t后面指定时长单位为秒。

为什么要将-ss放在-i前面?因为官方文档推荐这样做,这样做剪辑出来的视频时间轴更精准,并且速度更快。还有一个参数-to放在-i video.mp4后面,作用是指定剪辑时长,例如-to 00:02:00,当-ss放在-i前面的时候,这个-to剪辑出来的是-ss指定的时间轴加上-to指定的时间,比如-ss 00:01:00 -i video.mp4 -to 00:02:00,则剪辑出来的视频,是原视频00:01:00到00:03:00的片段。如果想把片头给去掉则指定了时间轴就不要添加-to和-t参数。

ffmpeg -ss 00:03:00 -i video.mp4 -to 00:02:00 -c copy cut.mp4

以上命令代表将原视频文件00:03:00到00:05:00的片段剪辑出来,生成为cut.mp4文件在当前文件夹,并且使用编码为copy复制源视频文件的编码格式。

ffmpeg -ss 00:03:00 -i video.mp4 -c copy cut.mp4

去除片头,就不需要添加-to或者-t参数,那么则是剪辑00:03:00到视频结尾。

视频转换成gif图片

转换命令:

(1)直接转换命令:
ffmpeg -i out.mp4 out.gif

(2)带参数命令:
ffmpeg -ss 00:00:14 -i test_00.mp4 -to 18 -r 20 -s 480x960 -vf scale=200:-1 test.gif

参数说明:

-ss 表示起始点
-i 后面跟要操作的那个视频文件
-to 表示文件的终止点, 即录制多少秒.
-r 帧速率,可以增大这个值输出更画质更优的 GIF 文件
-vf 图形筛选器,GIF 的缩放大小
-s 设置图片的长宽大小

输出比较清晰的gif图

ffmpeg -i 2.mp4 -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" 22.gif

ffmpeg -i 2.mp4 -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -s 480*320 -r 10 23.gif

-s 表示分辨率改为多少
-r 是多少fps
-vf 就是表示,生产画板palettegen
-vf 表示使用画板 paletteuse

你可能感兴趣的:(FFmpeg,ffmpeg)