0

ビデオ ファイルに透かしを追加しようとしていますが、透かしを透明にしたいので、透かしの背景に問題があります。

私のアプローチは次のとおりです。このような透明な背景を持つビデオのサイズの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ファイルを作成する方法に問題があるに違いありません.なぜそれがうまくいかないのですか?

4

0 に答える 0