如何使用ffmpeg在多个区域添加水印?
how to add watermark in multiple areas using ffmpeg?
我正在使用 laravel 框架并且还使用 ffmpeg php 库。实际上我已经完成了将近 70% 的工作。但我面临的问题是在视频的多个区域显示水印。我在那个视频的左上角做了 运行 非常好的水印。但我想在左上角、左下角、右下角添加水印。我已将此代码用于左上角水印(用于视频):-
$inputVideo = public_path('input/airplane_flight_airport_panorama_1080.mp4');
$outputVideo = public_path('uploads/output.mp4');
$watermark = public_path('input/watermark.jpg');
$wmarkvideo = "ffmpeg -i ".$inputVideo." -i ".$watermark." -filter_complex ". '"overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)/(main_h-overlay_h)"'." ".$outputVideo;
exec($wmarkvideo );
请帮助我如何在这些区域的左上角、左下角、右下角添加水印。提前致谢:)
这是您将用于多个水印的 ffmpeg 命令
ffmpeg -i inputVideo -i watermark-tr -i watermark-tl -i watermark-br -i watermark-bl
-filter_complex "[0][1]overlay=x=W-w:y=0[tr];
[tr][2]overlay=x=0:y=0[tl];
[tl][3]overlay=x=W-w:y=H-h[br];
[br][4]overlay=x=0:y=H-h" outputfile
tr = top-right; tl = top-left; br = bottom-right; bl = bottomleft
还有中心,
ffmpeg -i inputVideo -i watermark-tr -i watermark-tl -i watermark-br -i watermark-bl -i watermark-c
-filter_complex "[0][1]overlay=x=W-w:y=0[tr];
[tr][2]overlay=x=0:y=0[tl];
[tl][3]overlay=x=W-w:y=H-h[br];
[br][4]overlay=x=0:y=H-h[bl];
[bl][5]overlay=x=(W-w)/2:y=(H-h)/2" outputfile
我正在使用 laravel 框架并且还使用 ffmpeg php 库。实际上我已经完成了将近 70% 的工作。但我面临的问题是在视频的多个区域显示水印。我在那个视频的左上角做了 运行 非常好的水印。但我想在左上角、左下角、右下角添加水印。我已将此代码用于左上角水印(用于视频):-
$inputVideo = public_path('input/airplane_flight_airport_panorama_1080.mp4');
$outputVideo = public_path('uploads/output.mp4');
$watermark = public_path('input/watermark.jpg');
$wmarkvideo = "ffmpeg -i ".$inputVideo." -i ".$watermark." -filter_complex ". '"overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)/(main_h-overlay_h)"'." ".$outputVideo;
exec($wmarkvideo );
请帮助我如何在这些区域的左上角、左下角、右下角添加水印。提前致谢:)
这是您将用于多个水印的 ffmpeg 命令
ffmpeg -i inputVideo -i watermark-tr -i watermark-tl -i watermark-br -i watermark-bl
-filter_complex "[0][1]overlay=x=W-w:y=0[tr];
[tr][2]overlay=x=0:y=0[tl];
[tl][3]overlay=x=W-w:y=H-h[br];
[br][4]overlay=x=0:y=H-h" outputfile
tr = top-right; tl = top-left; br = bottom-right; bl = bottomleft
还有中心,
ffmpeg -i inputVideo -i watermark-tr -i watermark-tl -i watermark-br -i watermark-bl -i watermark-c
-filter_complex "[0][1]overlay=x=W-w:y=0[tr];
[tr][2]overlay=x=0:y=0[tl];
[tl][3]overlay=x=W-w:y=H-h[br];
[br][4]overlay=x=0:y=H-h[bl];
[bl][5]overlay=x=(W-w)/2:y=(H-h)/2" outputfile