Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ffmpeg:1帧按需操作_Php_C++_C_Ffmpeg - Fatal编程技术网

Php ffmpeg:1帧按需操作

Php ffmpeg:1帧按需操作,php,c++,c,ffmpeg,Php,C++,C,Ffmpeg,大家好,SO的朋友们 我们需要创建一个小应用程序,从视频中获取随机帧,并实时对其进行一些修改 这必须实时完成,为了做到这一点,我们不介意在视频开始流之前创建一些初始延迟。因此,我们假设我们总共有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)点已

大家好,SO的朋友们

我们需要创建一个小应用程序,从视频中获取随机帧,并实时对其进行一些修改

这必须实时完成,为了做到这一点,我们不介意在视频开始流之前创建一些初始延迟。因此,我们假设我们总共有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模块解决了。然而,我们需要为其余程序找到解决办法,以便实现这一点

如果有人可以帮助我们,请随时与我联系

提前感谢;
Chris C.Russo

这是一个相当复杂的问题,无法通过简单地用修改过的图像替换关键帧来解决。以下问题(至少)应予以解决,以使其发挥作用:

  • 重新编码依赖于关键帧的所有帧。否则,视频将被破坏
  • 文件格式注意事项-编码后(与原始编码数据相比),修改的关键帧和后续帧可能具有不同的大小。将它们存储在输出文件中并不容易
  • 时间戳-必须保留这些修改帧的时间戳信息,否则输出文件中会出现音频-视频同步问题

鉴于这些问题,我建议在原始视频帧中执行图像处理,然后对流进行编码。请告诉我是否可以帮助澄清。

正确替换关键帧需要直接或间接替换依赖于该关键帧的每一帧。话虽如此,您可以只替换直接依赖于关键帧的帧,只要它们的编码质量足够高。这听起来不错,您是否可以提供任何代码片段或POC?我想多看看。谢谢这是一个很大的问题,我真的不知道从哪里开始,我不认为有任何示例代码或教程可以做这样的事情。在我看来,理想的解决方案是一个更高级别的库,它允许您使用ffmpeg库对压缩视频进行最低限度的就地修改,但这本身就是一个巨大的项目。除非你已经是这方面的专家(在这种情况下,你不需要问),否则你可能需要雇佣一位ffmpeg专家来寻找这类工作……KRTKR先生,你的回答其实非常清楚。如果我可以问一下,您是否有兴趣为我们提供解决方案?我们没有庞大的预算,但我们仍然可以解决它!请让我知道,你可以通过chris(在)calciumsec(点)com给我发电子邮件。你好,chris,我很感兴趣,想知道更多关于你试图解决的问题的信息。谢谢分享你的电子邮件,我今天会与你联系。