Browning宁 发表于 2015-3-24 16:26:46

ffmpeg 水印和滤镜一起使用的问题

我想把加水印和滤镜的程序写在一个程序里,
加水印: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


f -d stdout -loglevel verbose -y -vsync ignore -i /storage/emulated/0/DCIM/Camera/VCameraDemo/1427184027564/1427184027564.mp4 -i /storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/MusicVideoAssets/Shining/text.ts -i "concat:/storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/MusicVideoAssets/Shining/frame.ts|/storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/MusicVideoAssets/Shining/frame.ts|/storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/MusicVideoAssets/Shining/frame.ts" -i /storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/MusicVideoAssets/Shining/valencia.bmp -i "/storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/Common/tail.mp4" -f rawvideo -r 15 -s 186x30 -pix_fmt rgba -i "zip:/storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/theme_author.bmp" -i "/storage/emulated/0/Android/data/com.yixia.camera.demo/cache/Theme/MusicVideoAssets/Shining/Bicycle_Riding.mp3" -filter_complex 'opengl=n=6:w=480:h=480' -filter_complex 'amix=inputs=2:duration=longest:dropout_transition=2,pcmplay' -vcodec rawvideo -acodec pcm_s16le -f null -



请问,其中的 filter_complex中的 "opengl" 怎么理解,没找到其中语法啊。   还有 “zip” 。。。。




@孙悟空 等大神们有好的建议吗。。。

孙悟空 发表于 2015-3-24 18:00:07

ffmpeg -y -i INPUT -i ./005.png -filter_complex 'colorchannelmixer=.3588:.7044:.1368:0:.2990:.5870:.1140:0:.2392:.4696:.0912,transpose=1;overlay=500:500' OUTPUT
这么做试试

孙悟空 发表于 2015-3-24 18:31:52


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



就是这个Duang~~!

孙悟空 发表于 2015-3-24 21:55:07

从第10秒到第15秒开始实现特效
ffmpeg -i ~/Movies/objectC/facebook.mp4 -vf "split ; crop=iw:ih/2:0:0, vflip ; overlay=0:H/2:enable='between(t,10,15)'" -y -strict -2 output.mp4

Browning宁 发表于 2015-3-24 22:18:36

DUANG!!! 加俩特效的例子来啦~~

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

./ffmpeg -y -i file/0001.mp4 -i file/light.mp4 -i file/icon.png -filter_complex "format=rgb24,setsar=sar=1/1;format=rgb24,setsar=sar=1/1;blend=all_mode='addition':all_opacity=1,format=rgb24; overlay=20:20:enable='between(t,1,2)'" -af "amovie=file/001.mp3;amix=inputs=2:duration=shortest:dropout_transition=2" -strict -2 output.mp4

Browning宁 发表于 2015-3-24 22:43:46

提醒:如果你加的特效视频时间长度大于原视频长度,比如 原视频长度是 5s,特效视频长度是10s,不加控制下是输出10s的视频,所以要加时间控制。方法:在输出前面(output.mp4)加 “ -t 5 ” 就可以啦。
这里要感谢大师兄的指点啊。哈哈

攻城狮 发表于 2015-3-28 20:02:21

必须顶一下:lol

疯狂的Coder 发表于 2015-12-9 17:17:44

为什么我用这个命令总是报错@Browning宁

cheny 发表于 2016-1-15 10:56:32

colorchannelmixer的值是怎么得到的@Browning@孙悟空

孙悟空 发表于 2016-1-15 16:40:52

cheny 发表于 2016-1-15 10:56
colorchannelmixer的值是怎么得到的@Browning@孙悟空

这个就得一个像素一个像素的去查了……
页: [1] 2
查看完整版本: ffmpeg 水印和滤镜一起使用的问题