【问题标题】:How well does FFmpeg scale? Any examples?FFmpeg 的扩展性如何?有什么例子吗?
【发布时间】:2011-01-11 01:48:33
【问题描述】:

我目前正在从事增强现实项目的服务器端工作。这很像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 的例子?

【问题讨论】:

    标签: php performance ffmpeg


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-07-22
      • 2018-10-08
      • 2010-10-29
      • 2012-05-23
      • 1970-01-01
      • 2021-02-11
      • 2013-06-01
      • 2010-10-11
      • 1970-01-01
      相关资源
      最近更新 更多