Tag: video

使用Carrierwave和Fog将video上传到S3

我已经用Carrierwave和Fog配置了我的testapp。 我的目标是将video上传到Amazon S3,但如果我尝试上传video,则会出现“管道损坏”错误。 如果我只是上传一张图片,它就有效,所以我的亚马逊配置应该没问题! carrierwave适用于video吗? 或者为什么它适用于图像而不适用于video? Carrierwave.rb: CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, :aws_access_key_id => ‘XXX’, :aws_secret_access_key => ‘YYY’ } config.fog_directory = ‘testbucket’ end Video_Uploader.rb: class VideoUploader < CarrierWave::Uploader::Base storage :fog end upload_form: 控制器: def create @video = Video.new(params[:video]) if @video.save redirect_to videos_url else render :new end end

将video上传到Cloudinary

我目前有一个基于Rails的网站,它在Heroku上托管,允许用户上传个人图像和video。 我目前将它们存储在S3上,video编码由Zencoder完成。 到目前为止,我对此非常满意,但我想使用像Cloudinary这样的服务。 我已经创建了一个上传到Cloudinary的演示应用程序,并且对它的工作方式非常满意,但是对于video,这似乎不起作用。 我知道Cloudinary没有做任何编码,我不是在寻找它们。 我仍然会使用Zencoder,但只想一个地方存储所有的媒体文件。 是否有人使用过这种方法或者有更好的方法可以解决这个问题?

将video上传到heroku时出错

我在我的rails应用程序中使用了paperclip和paperclip-av-transcoder,我已经到了可以在本地上传video的地步。 但是当我在heroku中尝试它时,我得到了这个错误。 Av :: UnableToDetect(无法检测到任何支持的库): 我可能需要添加一些东西才能使它与s3一起使用,但我之前已经使用过图像,因此应该为s3设置所有内容。 这是我模型中的代码 class Classvideo { :medium => {:geometry => “640×480”, :format => ‘flv’}, :thumb => { :geometry => “100×100#”, :format => ‘jpg’, :time => 10 } }, :processors => [:transcoder] validates_attachment_content_type :video, :content_type => [“video/mp4”, “video.mov”, “video/mpeg”,”video/mpeg4″, “image/jpg”, “image/jpeg”] end

在Rails中保存video文件

好的,所以我过去使用过paperclip上传图片和video。 我在想。 有没有一种简单的方法可以在rails中保存video? 我已经找到了上传文件的表格,我想知道是否有某种类型我应该保存它。 (显然不是字符串,而是沿着这些线。)我只想拥有一个包含所有三种文件类型的video播放器。 (ogg,mp4,wav)。 只是每个人都保存在数据库中自己的行中。

ffmpegvideo的条件旋转

我在使用Carrierwave-Video gem上传肖像video时遇到问题。 上传纵向video(特别是在移动设备上捕获的video)时,它们会顺时针旋转90度。 在Carrierwave-Video文档中,有一个动态配置选项,但我没有看到一种方法来动态传递自定义参数,以便根据video方向对video进行转码。 我知道如果我运行以下行,我可以将video旋转90度CCW: encode_video(:mp4, custom: “-vf transpose=1”) 但我需要一种可靠的方法来检测video是否需要旋转 。 我想知道是否有一些方法让我使用ffmpeg运行条件参数,只有在video是肖像时才运行。 如果它有用,这就是我的video上传器在我的Rails应用程序中的样子(出于某种原因,转码过程甚至在它检测到video的方向之前就已经运行了): require ‘carrierwave/processing/mime_types’ class VideoPathUploader video_width # rotate video Rails.logger.debug “portrait video” encode_video(:mp4, custom: “-vf transpose=1”, aspect: aspect_ratio) else encode_video(:mp4, aspect: aspect_ratio) end instance_variable_set(:@content_type, “video/mp4”) :set_content_type_mp4 end end

Heroku上的ffmpeg:无法识别的选项’预设’

我在我的本地Rails应用程序中使用ffmpeg版本1.2.4来转换video文件。 当我在本地运行应用程序时,一切都按预期工作。 当我部署到heroku时,我为ffmpeg添加了一个buildpack: https://github.com/shunjikonishi/heroku-buildpack-ffmpeg 这将安装ffmpeg版本git-2013-06-02-5711e4f。 当我尝试将video转码为mp4时,出现以下错误: 无法识别的选项’预设’。 拆分参数列表时出错:找不到选项 这是完整的日志: 2013-11-17T19:45:05.255059+00:00 app[web.1]: Running transcoding… 2013-11-17T19:45:05.255059+00:00 app[web.1]: ffmpeg -y -i /app/public/uploads/tmp/1384717504-2-9158/Untitled.mov -vcodec libx264 -acodec libfaac -s 640×360 -qscale 0 -preset slow -g 30 -aspect 1.7777777777777777 /app/public/uploads/tmp/1384717504-2-9158/tmpfile.mp4 2013-11-17T19:45:05.255059+00:00 app[web.1]: 2013-11-17T19:45:05.317895+00:00 app[web.1]: Failed encoding… 2013-11-17T19:45:05.317895+00:00 app[web.1]: ffmpeg -y -i /app/public/uploads/tmp/1384717504-2-9158/Untitled.mov -vcodec libx264 -acodec libfaac -s 640×360 -qscale 0 -preset […]

在Rails应用程序中使用bigvideo.js渲染背景

我有以下实现的bigvideo.js完全在我的Rails项目之外运行。 var BV = new $.BigVideo(); BV.init(); if (Modernizr.touch) { BV.show(‘yay.jpg’); } else { BV.show(‘test.mp4’,{ambient:true}); } 但是,当我尝试将其转换为Rails时,它不会呈现图像或video。 – 我有资产/ javascripts中的所有javascript文件。 它们似乎正在拉动。 – Application.js不受影响,包括// = require_tree。 – 对于自定义JS(上面显示js代码的那个),我目前将它作为资产/ javascripts中的JS文件。 我已经尝试将相关的图像/video文件放在文件夹中,更改文件的url路径,并命名为.html.erb并使用ruby片段,但都没有成功。 如何使我的实施工作? 你可以在这里看到它在Rails之外工作。

Rails提供大型文件

我正在开发一个仅向登录用户提供大型video的应用程序。 为了保持这些video的私密性,我将它们放在Rails项目中的私有文件夹中,让Rails为它们提供服务,而不是使用公共文件夹并排除来自apache的请求(以避免直接链接到它们)。 我在控制器中的动作如下所示: def video respond_to do |format| format.mp4{ send_file File.join([Rails.root, “private/videos”, @lesson.link_video1 + “.mp4”]), :disposition => :inline, :stream => true } end end 一切都很完美,但只有小文件,一旦我尝试使用真实文件我收到错误: NoMemoryError (failed to allocate memory) 我在某个地方读到了将send_file用于大文件不是一个好习惯,但是使用其他方法,让apache为文件提供服务,我在向移动苹果设备提供文件时遇到了问题,因为他们没有发送HTTP_REFERER。 你知道这个内存限制有多小吗? 我的video从400MB到2GB(试图减少它们)。 我在这里找到的唯一问题是没有答案来处理rails中assets文件夹中的大型媒体文件

在上传到远程网站期间缩小/调整video大小

我有一个用Ruby编写的web应用程序,它使用一个表单将video从用户上传到服务器(我实际上使用的jquery上传器直接上传到s3,但我不认为这是相关的)。 为了减少video的上传时间,我想缩小它,例如,如果video大小为1000×2000像素,我想将其缩小到500×1000。 在客户端上传video时,有没有办法这样做? 有没有可以做到这一点的JavaScript库?

Safari未在Rails应用中加载HTML5video

我有一个Rails应用程序我正在尝试使用以下标记播放HTML5video: 不起作用: 在Safari上,video显示“正在加载…”但从未播放,尽管它​​在Chrome和Firefox中的效果与预期一致。 我认为它最初可能是路径,但我已经尝试了绝对路径,相对路径和Rails image_path助手,但没有结果。 为了调试,我复制了这个示例HTML5video标签,它按预期在Safari中播放(这里唯一的区别是源video): Works :外部托管的示例video 但是,当我采用这个完全相同的标记并在本地托管这些相同的文件时,video在Safari中停止工作: 不起作用 :本地托管的示例video 笔记: 我没有在Safari控制台或Rails日志中收到错误; 没有404s文件或任何东西。 本地托管的video可在Chrome和FF中使用,因此我知道路径是正确的。 外部托管的video在Safari中运行良好。 本地托管的video在Rails应用程序之外的Safari中工作 – 我创建了一个静态页面并使用上面的所有示例产生了良好的效果。 基于所有这些,似乎Safari和Rails的某些组合阻止了video的加载。