ffmpeg水印制作(二)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-21 14:00   35   0
一 裁剪视频





ffmpeg提供简单的命令参数:


ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT


对上面的命令稍做个解释。


-ss 开始时间,如: 00:00:20,表示从20秒开始;


-t 时长,如: 00:00:10,表示截取10秒长的视频;


-i 输入,后面是空格,紧跟着就是输入视频文件;


-vcodec copy 和 -acodec copy表示所要使用的视频和音频的编码格式,这里指定为copy表示原样拷贝;


INPUT,输入视频文件;


OUTPUT,输出视频文件;


视频截断+转换
ffmpeg -ss 00:30:47 -i test.avi -t 50 -vcodec h263 -b:v 750k -r 15 -s 352x288 -acodec aac -strict -2 -ac 2 -ar 48000 -ab 24 -f avi test_clip320x180.avi


数字水印
Top left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" -ar 22050 outputvideo.flv


Top right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv


Bottom left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv


Bottom right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" outputvideo.flv


要注意坐标位置的计算
-y 表示有同名的output.flv存在时不提示,直接覆盖
-i input.flv 表示要进行水印添加处理的视频
-acodec copy 表示保持音频不变
-b 300k 表示处理视频的比特率,用-vcodec copy时报错,使用其他工具获取到原始视频比特率后加到这里,保持比特率基本不变,不然默认为200k,视频有损。
output.flv 处理后的视频
-vfilters "..." 中间便是水印处理参数,
重要的是overlay=后面的部分,
第一个参数表示水印距离视频左边的距离,
第二个参数表示水印距离视频上边的距离,
第三个参数为1,表示支持透明水印。使用透明的png图片进行视频编码后,成功获得带透明水印的视频,并且画质也比较好(貌似新版非法)。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP