SO 的 friend 们大家好!
我们需要创建一个小型应用程序来从视频中获取随机帧,并实时对其进行一些修改。
这必须实时完成,为了做到这一点,我们不介意在视频开始流式传输之前创建一些初始延迟。因此,我们假设我们总共有 6 秒的预加载时间,以便:
1) extract a keyframe.
2) create an image with it.
3) manipulate the image.
4) replace the original keyframe with the new one.
前面算法的第 (3) 点已经使用 GD 作为 PHP 模块解决了。然而,我们需要为该过程的其余部分找到解决方案才能完成此任务。
如果有人可以帮助我们解决此问题,请随时与我联系。
提前致谢; 克里斯·C·罗素
最佳答案
这是一个相当复杂的问题,不能通过简单地用修改后的图像替换关键帧来解决。要使其发挥作用,(至少)应解决以下问题:
- 重新编码依赖于关键帧的所有帧。否则,视频将会损坏。
- 文件格式注意事项 - 修改后的关键帧和后续帧在编码后可能具有不同的大小(与原始编码数据相比)。将它们存储在输出文件中并不容易
- 时间戳 - 必须保留这些修改帧的时间戳信息,否则输出文件中会出现音频-视频同步问题。
鉴于这些问题,我的建议是在原始视频帧中执行图像操作,然后对流进行编码。如果我可以帮助澄清,请告诉我。
关于php - ffmpeg:按需进行 1 帧操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17508855/