使用ffmpeg在右下角水印视频

bib*_*gar 7 php ffmpeg

我在堆栈中找到了一些答案,确实使用了ffmpeg,但它给了我一些错误.

我在命令窗口运行它,错误很像

"无法为'ΓÇôi'ΓÇôi找到合适的输出格式:无效的参数".

我的命令如下

ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.mp4
Run Code Online (Sandbox Code Playgroud)

请提出一些想法.

Ris*_*han 9

基本上叠加属性定义了水印图像的贴图位置 -

main_w: video width
main_h: video height
overlay_w: overlay width
overlay_h: overlay height.
Run Code Online (Sandbox Code Playgroud)

我想这应该可以正常工作

 $mark = "ffmpeg -i ".$inputvideo." -i logo.png -filter_complex ". '"overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)/(main_h-overlay_h)"'." ".uniqid()."topright.mp4";
Run Code Online (Sandbox Code Playgroud)


Dny*_*war 6

我试过这个命令,它对我有用.希望它也适合你.

$mark = "ffmpeg -i inputvideo.mp4 -i watermark.png -filter_complex  'overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)' outputvideo.mp4";
exec($mark);
Run Code Online (Sandbox Code Playgroud)


Par*_*eog 5

您可以尝试一下。应该为您解决。

/*
 * At top left watermark
 */
$mark = "ffmpeg -i ".$inputvideo." -i logo.png -filter_complex ". '"overlay=x=(main_w-overlay_w)/(main_w-overlay_w):y=(main_h-overlay_h)/(main_h-overlay_h)"'." ".uniqid()."topleft.mp4";

/*
 * At top right watermark
 */
$mark = "ffmpeg -i ".$inputvideo." -i logo.png -filter_complex ". '"overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)/(main_h-overlay_h)"'." ".uniqid()."topright.mp4";
Run Code Online (Sandbox Code Playgroud)