在AWS实例上上传大型视频时无法分配内存错误

时间:2013-09-04 10:49:05

标签: ruby-on-rails-3 amazon-web-services ffmpeg

我正在RoR网站上工作,我在网站上传媒体文件(如mp3,pdf,图片和视频)。网站托管在AWS上,我使用S3存储桶上传媒体文件。

当我上传视频时,首先将我的项目的公共文件夹中的视频保存在托管我网站的AWS实例上,然后使用FFMPEG创建该视频的缩略图并使用ffmpeg-streamio获取持续时间并在创建后删除此视频缩略图。它正常工作,直到上传大型视频,但当我尝试通过错误上传大型视频时我。即

Errno :: ENOMEM(无法分配内存 - / usr / local / bin / ffmpeg -i /var/www/html/proj/public/13/NVC_trim.mov):

path = "public/" + @admin.id.to_s + "/" + params[:video].original_filename

     dirpath = "public/" + @admin.id.to_s

     FileUtils.mkdir_p dirpath

     aFile = File.new(path, "w")

     aFile.write(open(params[:video]).read)

     aFile.close

     system"/usr/local/bin/ffmpeg -itsoffset -4  -i /var/www/html/proj/#{path} -vcodec mjpeg -vframes 1 -an -f rawvideo /var/www/html/proj/#{dirpath}/thumb.png"


       #calculate video duration
       FFMPEG.ffmpeg_binary = '/usr/local/bin/ffmpeg'
       movie = FFMPEG::Movie.new("/var/www/html/proj/#{path}")

我错过了代码中的内容吗? 任何想法或帮助都将受到高度赞赏。

提前致谢:)

0 个答案:

没有答案