Buenos días y feliz martes lo primero,
vengo con otro problema tontorrón. Quiero automatizar unas creaciones de vídeo con marca de agua con ffmpeg y ahora mismo estoy utilizando la librería https://github.com/PHP-FFMpeg/PHP-FFMpeg que se supone que te permite hacerlo.
El problema es que el apartado Watermark de la docu no me funciona, da un error de interpretación con el path de la imagen (y he comprobado varias veces que sea correcto, además de intentar cambiar la exposición y escapado de los separadores de directorio)
He probado a mano el comando y funciona perfectamente, así:
ffmpeg -i app/videos/1-720p.mp4 -i app/watermark/watermark-6.png -filter_complex overlay=0:0 -map 0:v -map -vcodec app/videos/exported-6.mp4
Así que bueno, he intentado tirar por la opción AdvancedMedia de la docu, la cual se supone que te permite crear un filtro custom y el resultado sería lo mismo => filter complex overlay
$videoPath = storage_path('app/videos/1-720p.mp4');
$watermarkPath = storage_path('app/watermark/watermark-6.png');
$outputPath = storage_path('app/videos/exported-6.mp4');
$video = $ffmpeg->openAdvanced([$videoPath, $watermarkPath]);
$video->filters()->custom('[0:v][1:v]', 'overlay=0:0', '[v]');
$video->map(['[0:v][1:v]', '[v]'], new \FFMpeg\Format\Video\X264(), $outputPath);
$video->save();
Estoy obteniendo este error:
Output with label '0:v' does not exist in any defined filter graph, or was already used elsewhere.
He probado varias cosas y no lo soluciono, no me entero.
Info: la posición del overlay es 0:0 porque la imagen de la marca de agua mide 1280x720, exactamente igual que el vídeo, es una transparencia a tamaño completo.
A ver si damos con la tecla, thank you!