我正在尝试在h264视频上添加一个png水印(带有alpha通道),它是半透明的。通过使用叠加过滤器,我成功地将水印添加到视频中。
ffmpeg -y -i input.mp4 -i watermark.png -filter_complex "[0][1] overlay=0:0" -c:v libx264 -an output.mp4
但覆盖过滤器不提供透明选项。所以我尝试使用混合过滤器。然而,当我使用原点解析时,会出现错误消息。
ffmpeg -y -i input.mp4 -i watermark.png -filter_complex "[0][1]blend=all_mode=overlay:all_opacity=0.3" -c:v libx264 -an output.mp4
输出:
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 47.100 / 6. 47.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:45.08, start: 0.000000, bitrate: 1872 kb/s
Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 1869 kb/s, 29.72 fps, 30 tbr, 16k tbn, 32k tbc (default)
Metadata:
handler_name : VideoHandler
Input #1, png_pipe, from 'watermark.png':
Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgba(pc), 64x64, 25 tbr, 25 tbn, 25 tbc
[Parsed_blend_0 @ 00750600] First input link top parameters (size 1920x1080, SAR 0:1) do not match the corresponding second input link bottom parameters (64x64, SAR 0:1)
[Parsed_blend_0 @ 00750600] Failed to configure output pad on Parsed_blend_0
Error configuring complex filters.
Invalid argument
结果似乎与参数有关。所以我尝试在混合之前缩放水印。
ffmpeg -y -i input.mp4 -i watermark.png -filter_complex "[0:0]scale=1920x1080[a]; [1:0]scale=1920x1080[b]; [a][b]blend=all_mode=overlay:all_opacity=0.3" -c:v libx264 -an output.mp4
FFMPEG使用这些参数。但是输出不是我预期的,因为水印被拉伸了。任何想法混合水印与不同的分辨率,而不拉伸到视频与透明度?
这是测试文件。(ffmpeg 3.1.2版)https://drive.google.com/open?id=0B2X3VLS01TogdHVJZ2I1ZC1GUUU https://drive.google.com/open?id=0B2X3VLS01TogbjhuZTlBOFFpN1k
ffmpeg -y \
-i "bird.jpg" \
-i "logo.png" \
-filter_complex "\
[1][0]scale2ref=h=ow/mdar:w=iw/4[#A logo][bird];\
[#A logo]format=argb,colorchannelmixer=aa=0.5[#B logo transparent];\
[bird][#B logo transparent]overlay\
=(main_w-w)/2:(main_h-h)/2" \
image_with_logo.jpg
#A preserve aspect ratio of logo, scale width of logo to 1/4 of image width
#B add alpha channel, reduce opacity to 50%
# overlay image an logo
#position is horizontally and vertically centered
ffmpeg -y \
-i "bird.jpg" \
-i "logo.png" \
-filter_complex "\
[1][0]scale2ref=h=ow/mdar:w=iw/4[#A logo][bird];\
[#A logo]format=argb,colorchannelmixer=aa=0.5[#B logo transparent];\
[bird][#B logo transparent]overlay\
=(main_w-w)-(main_w*0.1):(main_h-h)-(main_h*0.1)" \
image_with_logo.jpg
#A preserve aspect ratio of logo, scale width of logo to 1/4 of image width
#B add alpha channel, reduce opacity to 50%
# overlay image an logo
# position: bottom right, with a margin of 10% of the edges
在覆盖之前使用lut过滤器
ffmpeg -y -i input.mp4 -i watermark.png -filter_complex
"[1]lut=a=val*0.3[a];[0][a]overlay=0:0"
-c:v libx264 -an output.mp4
本文向大家介绍如何利用python给图片添加半透明水印,包括了如何利用python给图片添加半透明水印的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 示例代码: 效果图: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢
目前,我正在尝试添加一个水印,出现在我的pdf的每一页的背景使用iText7 pdfHtml,但我无法找到一个解决方案。例如,我希望文本“机密”出现在每一页的背景中。我尝试用css添加它,如下所示 我希望这对其他试图开始使用iText PDFHTML的人有所帮助!
watermark.js leverages canvas pooling so canvases are reused when possible /** * Place a watermark */ function placeMark(i) { watermark(['img/shepherd.jpg', 'img/logo.png']) .image(watermark.im
我使用laravel框架,也使用ffmpeg PHP库。其实我做了差不多百分之七十的工作。但是我面临的问题是在视频的多个区域显示水印。我做了左上角的水印,在那个视频上运行得很好。但是我想在左上,左下,右下添加水印。我使用这个代码的左上角水印(视频):- 请帮助我如何在这些区域的左上角、左下角和右下角添加水印。提前感谢:)
问题内容: 我正在尝试重现Firefox或Safari的搜索字段或本页右上方的搜索字段的行为。 我的意思是,当editable上没有文本时,将显示指令文本,诸如此类。当集中的文本被删除。如果焦点丢失而没有键入任何文本,则说明文本会返回。 问题答案: 注意: 请查看文本提示,以更完整地实现以下代码,并提供更多功能。 我把一些简单的东西放在一起。我敢肯定你可以整理一下。由于代码可以在JTextFiel
我想创建一个包含透明和半透明部分的图像,这样如果我给,比如说颜色x作为背景,透明部分将显示x颜色,半透明部分将显示颜色x的渐变阴影。 我需要这样一个图像在模板中使用,将由客户谁将有不同的颜色主题使用。 编辑:问题是如何创建既透明 编辑:我让我的问题更清楚了。在附加的图像中,有一个透明区域。想法是在图像中有一个透明区域和一个半透明区域(指向指针的区域,目前这不是半透明的),这样如果我给红色作为bg颜