视频转码
- 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.gifffmpeg -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