Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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
Ruby on rails 3 在AWS实例上上载大型视频时无法分配内存错误_Ruby On Rails 3_Amazon Web Services_Ffmpeg - Fatal编程技术网

Ruby on rails 3 在AWS实例上上载大型视频时无法分配内存错误

Ruby on rails 3 在AWS实例上上载大型视频时无法分配内存错误,ruby-on-rails-3,amazon-web-services,ffmpeg,Ruby On Rails 3,Amazon Web Services,Ffmpeg,我在一个RoR网站上工作,我在网站上上传媒体文件(如mp3、pdf、图像和视频)。网站托管在AWS上,我使用S3 bucket上传媒体文件 当我上传一个视频时,首先将视频保存到AWS实例的公共文件夹中,在AWS实例中,我的网站是托管的,然后使用FFMPEG创建该视频的缩略图,并使用FFMPEG streamio获取持续时间,并在创建缩略图后删除此视频。在上传大视频之前,它工作正常,但当我试图上传大视频时,由于一个错误,它无法正常工作。e Errno::ENOMEM(无法分配内存-/usr/loc

我在一个RoR网站上工作,我在网站上上传媒体文件(如mp3、pdf、图像和视频)。网站托管在AWS上,我使用S3 bucket上传媒体文件

当我上传一个视频时,首先将视频保存到AWS实例的公共文件夹中,在AWS实例中,我的网站是托管的,然后使用FFMPEG创建该视频的缩略图,并使用FFMPEG streamio获取持续时间,并在创建缩略图后删除此视频。在上传大视频之前,它工作正常,但当我试图上传大视频时,由于一个错误,它无法正常工作。e

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

我在代码中遗漏了什么吗? 我们将非常感谢您在这方面的任何想法或帮助


提前感谢:)

Errno::ENOMEM表示内存不足。如果您需要分配更多内存,则需要将视频分成部分存储在ram中以避免出现问题
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}")