Answers:
您正在使用的过滤器和过滤需要重新编码,所以你不能使用-vcodec copy
到流拷贝视频。如果您想要“相同的质量”,则需要使用无损编码器:
ffmpeg -i video.mp4 -i image.png -filter_complex overlay -c:v libx264 -crf 0 -c:a copy -movflags +faststart output.mp4
生成的文件可能很大:对于无损输出,这是预期的。
您的播放器或设备可能无法播放无损文件。
如果您希望获得“视觉上无损”的输出(从技术上讲不是无损的,但看上去几乎是无损的),请使用-crf 18
代替-crf 0
。
无需电影源过滤器。就像我的示例所示,像输入其他文件一样,只需在输入中添加覆盖图像即可。
由于您使用的是PHP,因此我假设您将通过渐进式下载来展示视频。添加文件,-movflags +faststart
以便它可以在文件完全下载之前开始播放。