我正在尝试将视频大小调整为 gif 图像。但每次我都失败了。
请检查我的cdde:
$input = "files/video.mp4";
$thumbnail = 'img/logo.png'
$output = 'gif/'.time().'.gif';
$command = "ffmpeg -t 3 -ss 00:00:02 -i $input -i $thumbnail -filter_complex overlay=W-w-5:H-h-5 -codec:a copy $output"
@exec($command, $ret);
print_r($ret);
上面的命令我没有得到数组结果。但工作正常。我的视频成功转换为带水印的 GIF。但是,如果我试图调整以下代码的大小。该命令不起作用。请告诉我错误在哪里
$command = "ffmpeg -t 3 -ss 00:00:02 -i $input -vf scale=400:-1 -i $thumbnail -filter_complex overlay=W-w-5:H-h-5 -codec:a copy $output"
请帮我。让我知道是否有任何其他方法可以通过调整大小和水印图像将视频制作为 gif。
编辑:如果我要删除水印命令。然后我调整大小的 GIF 工作正常。
最佳答案
缩放也应该发生在复合体中。
ffmpeg -t 3 -ss 00:00:02 -i $input -i $thumbnail -filter_complex [0]scale=400:-1[b];[b][1]overlay=W-w-5:H-h-5 -codec:a copy $output
否则独立
vf
输出被 ffmpeg 映射为输出。FFmpeg 为优化的 GIF 生成提供了 palettegen 和 paletteuse 过滤器。
ffmpeg -t 3 -ss 00:00:02 -i $input -i $thumbnail -filter_complex [0]scale=400:-1[b];[b][1]overlay=W-w-5:H-h-5,split[v][p];[p]palettegen,fifo[pal];[v][pal]paletteuse -codec:a copy $output
关于php - 在我添加水印时,FFMPEG gif 调整大小不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38125435/