大家论坛

 找回密码
 注册
查看: 2429|回复: 6

[讨论] 我想把加水印和滤镜的程序写在一个程序里

[复制链接]

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
发表于 2018-8-5 15:19 | 显示全部楼层 |阅读模式
本帖最后由 大家生日 于 2018-8-5 15:53 编辑

我想把加水印和滤镜的程序写在一个程序里,
加水印:ffmpeg -y -i input.mp4 -i wm.png -filter_complex 'overlay=10:main_h-overlay_h-10' output.mp4
加滤镜:ffmpeg -y -i input -vf colorchannelmixer=.3588:.7044:.1368:0:.2990:.5870:.1140:0:.2392:.4696:.0912,transpose=1 -pix_fmt yuv420p -c:v h264 -b:v 400k -b:a 53k -r 15 -ac 1 output
我把这2段程序结合一起:
ffmpeg -y -i input -i wm.png -filter_complex 'overlay=10:main_h-overlay_h-10' -vf colorchannelmixer=.3588:.7044:.1368:0:.2990:.5870:.1140:0:.2392:.4696:.0912,transpose=1 -pix_fmt yuv420p -c:v h264 -b:v 400k -b:a 53k -r 15 -ac 1 output
发现滤镜就无效了,水印加上了,因为我不想根据源文件加滤镜生成一个文件,再根据这个文件再去加水印,有没有办法,直接根据源文件去同时加滤镜和水印的方法,求高手指教。
这是在百度贴吧上的一个问题,我遇到的跟这个一样。。。实现类似于“美拍”那样的效果,不知道用单纯的滤镜能否实现。。。
http://www.cnblogs.com/over140/p/3704580.html
这个实现了,但是不知道其中原理。一下是打印出的Log

本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:19 | 显示全部楼层
ffmpeg -y -i INPUT -i ./005.png -filter_complex '[main]colorchannelmixer=.3588:.7044:.1368:0:.2990:.5870:.1140:0:.2392:.4696:.0912,transpose=1;overlay=500:500[main]' OUTPUT

本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:20 | 显示全部楼层

ffmpeg -i 方世玉.国语_1993_BD.rmvb -i b.mp4 -filter_complex "[0:v]format=rgb24,setsar=sar=1/1[mv];[1:v]format=rgb24,setsar=sar=1/1[in];[in][mv]blend=all_mode='addition':all_opacity=1,format=rgb24" -af "amovie=b.aac[audio];[in][audio]amix=inputs=2:duration=shortest:dropout_transition=2" -strict -2 output.mp4

本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:21 | 显示全部楼层

ffmpeg -i ~/Movies/objectC/facebook.mp4 -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2:enable='between(t,10,15)'" -y -strict -2 output.mp4
本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:21 | 显示全部楼层
DUANG!!! 加俩特效的例子来啦~~

light.mp4 为视频特效,icon.png为图片遮罩,群里大神杠杠的~哈哈

./ffmpeg -y -i file/0001.mp4 -i file/light.mp4 -i file/icon.png -filter_complex "[0:v]format=rgb24,setsar=sar=1/1[mv];[1:v]format=rgb24,setsar=sar=1/1[in];[in][mv]blend=all_mode='addition':all_opacity=1,format=rgb24[tmp]; [tmp][2:v] overlay=20:20:enable='between(t,1,2)'" -af "amovie=file/001.mp3[audio];[in][audio]amix=inputs=2:duration=shortest:dropout_transition=2" -strict -2 output.mp4
本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:21 | 显示全部楼层
提醒:如果你加的特效视频时间长度大于原视频长度,比如 原视频长度是 5s,特效视频长度是10s,不加控制下是输出10s的视频,所以要加时间控制。方法:在输出前面(output.mp4)加 “ -t 5 ” 就可以啦。
本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:22 | 显示全部楼层
如果特效视频是5s,录像视频是10s, blend后的视频5后,特效视频就卡在最后一帧了,如何才能让特效视频循环呢 ...

-stream_loop 可以搞定
本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则



诚聘英才|移动端|Archiver|版权声明|大家论坛 ( 京ICP备06071611号,京公网安备11010802018363号 )

GMT+8, 2020-8-14 08:10 , Processed in 0.092773 second(s), 8 queries , Redis On.

Powered by Discuz!

© Comsenz Inc.

快速回复 返回顶部 返回列表