一、分割视频
进入ffmpeg的目录:
(1)执行从0分钟开始,剪切5分钟:
./ffmpeg -ss 00:00:00 -i /111/Movies/a2009.mp4 -t 00:05:00 a2009-1.mp4 -c copy
各参数解释:
-ss 00:00:00 【从0分钟开始】
-i /111/Movies/a2009.mp4 【原始视频】
-t 00:05:00 【一共剪切5分钟】
a2009-1.mp4 【输出文件名】
-c copy 【编解码器,使用源文件解码器】
(2)执行从5分钟开始,剪切到第8分钟:
./ffmpeg -ss 00:05:00 -i /111/Movies/a2009.mp4 -to 00:08:00 a2009-2.mp4 -c copy
各参数解释:
-to 00:08:00 【剪切到第8分钟】
二、制作gif图
把一个视频从12秒开始剪切,然后截取5秒,生成gif
./ffmpeg -i /111/adn.mp4 -ss 12 -t 5 -vf "scale=480:-1" -r 15 adn.gif
参数解释:
-i /111/adn.mp4【输入的视频】
-ss 12 【从第12秒开始转换】
-t 5 【转换5秒的视频】
-vf "scale=360:-1" 【调整画面分辨率,降低到480p,宽高等比例缩放】
-r 15 【原始的input.mp4是30帧的,可以用-r 15来降低成15帧。】
adn.gif 【输出的gif文件】
参考:
三,加水印
./ffmpeg -i /111/Movies/adn.mp4 -ss 12 -t 5 -vf "scale=480:-1,drawtext=fontsize=40:fontfile=lazy.ttf:text='我是水印':x=30:y=30:fontcolor=gray" -r 15 adn5.gif
参数解释:
-vf "scale=480:-1,drawtext=fontsize=40:fontfile=lazy.ttf:text='我是水印':x=30:y=30:fontcolor=gray"
【
-vf参数用,分隔2个子参数,drawtext是水印子参数,可设置:
fontsize=40 字体大小
fontfile=lazy.ttf 字体样式
text='我是水印' 水印内容
x=30:y=30 坐标
fontcolor=gray 水印文字颜色
】
详细参数,参考:
四、去掉原有水印
#1,先找logo区域
./ffmpeg -ss 00:00:00 -i ../Downloads/elon.mp4 -vf delogo=x=700:y=90:w=250:h=70:show=1 -to 00:00:30 elon4.mp4 -c copy
参数解释:
x=700:y=90:w=250:h=70:
x=行坐标,距离左边框距离;y=列坐标,距离上边框距离
w=沿x轴,向右边延续多少个像素;h=沿y轴,向下延伸多少距离。
wywh组成了一个矩形框。。。。
show=1:会显示一个绿色的框,定位位置
#2.通过多次调整xywh的数值,找到正确的位置和大小。
#3.真正执行时候,去掉show=1,就不会有绿框了。
./ffmpeg -ss 00:00:00 -i ../Downloads/elon.mp4 -vf delogo=x=700:y=90:w=250:h=70 -to 00:00:30 elon4.mp4 -c copy
五、合并视频:
#1.分别把视频剪成前后2段,速度很快
./ffmpeg -ss 00:00:00.0 -i ../Downloads/ff.mp4 -codec copy -to 00:18:39 ../Downloads/ff1.mp4
./ffmpeg -ss 00:18:46.0 -i ../Downloads/ff.mp4 -codec copy -to 00:25:04 ../Downloads/ff2.mp4
#2.编写一个txt文件,内容如下:
file-list.txt 格式如下
file'/Users/xxx/Downloads/ff1.mp4'
file'/Users/xxx/Downloads/ff2.mp4'
#3.把2段视频组合成一个
./ffmpeg -f concat -safe 0 -i ../Downloads/file-list.txt -c copy ../Downloads/ffok.mp4
参数解释:
-safe 0,不加这个会报错:
concat @ 0x7fe7af804100] Unsafe file name '/Users/xxx/Downloads/ff1.mp4'
../Downloads/file-list.txt: Operation not permitted
参考: