gpt4 book ai didi

php - FFmpeg 的扩展性如何?有什么例子吗?

转载 作者:行者123 更新时间:2023-12-04 22:56:38 24 4
gpt4 key购买 nike

我目前正在从事增强现实项目的服务器端工作。很像 http://www.livingsasquatch.com/ .我正在使用 PHP/MySQL 和 FFmpeg 来捕获网络摄像头视频并将其编码为 .flv。

基本上,Flash 将视频上传为一长串 .jpg 图像。然后 PHP 获取这些图像,生成一些缩略图并通过 FFmpeg 将它们转换为单个 .flv 文件。

这是FFmpeg代码:

$ffmpeg_images = $image_directory.'/image%d.jpg';

@unlink($video_directory."/$video_id.flv");
$ffmpeg_video = $video_directory."/$video_id.flv";
$ffmpeg_string = FFMPEG_PATH." -f image2 -i $ffmpeg_images -f flv $ffmpeg_video";

@exec($ffmpeg_string);

这似乎在我的测试中运行良好,但我不知道我们将如何扩展它。由于这是我第一次使用 FFmpeg,我不知道这种方式的视频编码是否会使服务器瘫痪。

有人在高流量网站上使用过 FFmpeg 吗?

有没有更好的方法来处理这种类型的网络摄像头到 .flv 的转换?

有没有在高流量网站上使用 FFmpeg 的例子?

最佳答案

你的基本工作流程对我来说似乎很正常。我敢肯定还有其他方法。只是一系列要点来回答您的问题:

  • FFmpeg 是视频编码领导者 ;可以说是“领导者”。你不应该担心它本身是一个问题,而是更多关于你如何使用它,你的参数等。
  • 您上面脚本的 FFmpeg 参数是纯默认的。如果您尝试不同的参数,您可能会获得更好、更高效的性能。有许多。 您应该花一些时间调整 FFmpeg 参数。
  • 视频编码本质上是 CPU 密集型的。 如果您要拥有任何类型的音量,那么您将为此制定计划。这意味着运行一些测试、记录一些指标并进行预测。这也意味着密切关注您的硬件。例如:新的英特尔酷睿 i7 CPU 在视频编码方面绝对震撼——比一个 MHz* 核心数等效的酷睿 2 快几倍。
  • 您应该可以 以较低优先级进程启动 FFMpeg 作业 比您的 Web 服务器等。即使在 100% 的利用率下,这也将使您的服务器保持敏捷。
  • 如果你真的要处理大流量,那么我强烈建议将 FFmpeg 工作转移到辅助的专用编码服务器。 根据您的流量,您甚至可能需要一个编码场。

  • 总之,在我看来,您的问题与“系统架构”和“编码器参数调整”有关。

    我能想到的只有另一种根本不同的方法可以显着减少服务器端的编码负载,那就是在客户端处理所有事情。但不知何故,我认为你已经打折了这种方法。

    关于php - FFmpeg 的扩展性如何?有什么例子吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165903/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com