ffmpeg水印透明背景

时间:2013-05-05 23:01:53

标签: php ffmpeg watermark

我正在尝试为视频文件添加水印,但我遇到了水印背景的问题,因为我希望它是透明的。

我的方法是这样的:我制作一个像透明背景那样的视频大小的png文件

$im = imagecreatetruecolor($width, $height); 
$almostblack = imagecolorallocate($im,254,254,254); 
imagefill($im,0,0,$almostblack); 
$black = imagecolorallocate($im,0,0,0); 
imagecolortransparent($im,$almostblack); 

$textcolor = imagecolorallocate($im, 255, 0, 0);

// Write the string at the top left
imagestring($im, 5, 0, 0, 'Hello world!', $textcolor);

imagepng($im, $img);
imagedestroy($im);

然后我将其添加到视频中

exec("/usr/bin/ffmpeg -y -i '$file->path' -sameq -vf 'movie=$img [logo]; [in][logo] overlay=main_w-overlay_w:main_h-overlay_h [out]' '$new_path'");

添加了水印,但背景不透明。

知道我做错了吗?

更新:事实证明它适用于其他png图像,所以问题必须在于我构建png文件的方式,为什么它不能以这种方式工作?

0 个答案:

没有答案