我有一个rubyonrails应用程序,用户可以上传视频,我正在寻找一个系统,用于将用户上传的视频转换为 FLV 格式。目前我们正在使用 FFMPEG 由于视频转换是一项繁重的任务,它似乎需要花费大量的时间和大量的cpu资源。。我们正在寻找是否可以使用mapreduce/hadoop框架来实现视频转换,因为它是完全分布式的。使用map reduce进行实时视频转换是一个好的选择吗?如果是这样的话,那该如何实施呢?注意:每个视频文件大小约为50-60 mb。
FLV
FFMPEG
k4ymrczo1#
您的要求是“实时”转换。请记住,hadoop是一个“批处理框架”。我觉得hadoop在这里是个糟糕的选择。更好的解决方案肯定是使用类似storm的工具:apachestorm是一个免费的开源分布式实时计算系统。storm使得可靠地处理无限的数据流变得很容易,实现了hadoop对批处理的实时处理。就我个人而言,我使用storm实现了一个与您类似的项目,结果非常惊人。另一种选择是使用分布式参与者模型,如akka.io或erlang。但由于你是一个Ruby店,风暴或阿克卡将更容易为您的团队。
1条答案
按热度按时间k4ymrczo1#
您的要求是“实时”转换。请记住,hadoop是一个“批处理框架”。
我觉得hadoop在这里是个糟糕的选择。更好的解决方案肯定是使用类似storm的工具:
apachestorm是一个免费的开源分布式实时计算系统。storm使得可靠地处理无限的数据流变得很容易,实现了hadoop对批处理的实时处理。
就我个人而言,我使用storm实现了一个与您类似的项目,结果非常惊人。
另一种选择是使用分布式参与者模型,如akka.io或erlang。但由于你是一个Ruby店,风暴或阿克卡将更容易为您的团队。