搬砖视频为什么打水印,虽然是搬砖,打水印一方面为了广告,另一方面也是避免被再次搬砖,虽然不能杜绝,但也增加了被搬砖的成本。

素材

  • main.mp4 主视频
  • effect.mov 视频水印 为啥是 mov,是为了导出 透明通道 Alpha 视频,覆盖到主视频上,需要注意的是视频水印后面要有留白,如果刚好是水印结束水印就一直在上面
  • end.ts

使用到的命令脚本


## 将 mp4 转换为 ts 来进行合并

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

###  通过管道符来避免创建文件
mkfifo temp1 temp2
ffmpeg -y -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp1 2> /dev/null & \
ffmpeg -y -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp2 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp1|temp2" -c copy -bsf:a aac_adtstoasc output.mp4


## 添加视频水印
ffmpeg -i main.mp4 -vf 'movie=effect.mp4 [f];[in][f] overlay=0:0 [out]' out.mp4

实际操作


ffmpeg -i main.mp4 -vf 'movie=effect.mov [f];[in][f] overlay=0:0 [out]' out.mp4
ffmpeg -i out.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts out.ts

ffmpeg -i "concat:out.ts|end.ts" -c copy 1.ts

ffmpeg -i 1.ts -c copy  1.mp4

简化脚本

下面代码未运行成功


mkfifo temp0  temp1 temp2 
ffmpeg -i main.mp4 -vf 'movie=effect.mov [f];[in][f] overlay=0:0 [out]'  temp0> /dev/null & \
ffmpeg -y -i temp0 -c copy -bsf:v h264_mp4toannexb -f mpegts temp1> /dev/null & \
ffmpeg -y -i "concat:temp1|end.ts" -c copy temp2> /dev/null & \
ffmpeg -i temp2 -c copy  out.mp4

参考资料

请联系我 商务合作、广告投放、题目勘误、侵权投诉

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部