Paperclip Video Skewed(不保持宽高比)

时间:2015-08-27 15:22:50

标签: ruby-on-rails ffmpeg video-streaming paperclip transcoding

上传的视频不保持宽高比。在自述文件(paperclip av-transcoder)中,它说," '!' - 保持图像/视频的相同方面,但使用传递的尺寸。"我还尝试了其他选项(<>#!),但没有一个影响视频的大小。

我的目标是能够将视频返回到正方形(同时保持宽高比)。从中心裁剪也是理想的。

非常感谢任何帮助。我在下面提供了我的代码。

class Video < Post

  Paperclip.interpolates :id do |attachment, style|
    attachment.instance.id
  end

  #basename/extension is paperclip interpolation from attachment, can write own interpolations as needed

  # have to link /usr/local/bin to the linuxbrew version of ffmpeg
  has_attached_file :video,  path: "/posts/videos/:id/:style.:extension",
  :styles => {
    :square => {:geometry => "500x500!", :format => 'mp4', :streaming => true }
  },
  :processors => [:transcoder]

  validates_attachment :video, :presence => true,
                           :content_type => { content_type: ["video/mp4", "video/mov", "video/mpeg","video/mpeg4", "video/quicktime"] }

  def video_url
    video = self.video
    if video.present?
      return video.url(:square)
    end
  end

end

1 个答案:

答案 0 :(得分:1)

这似乎是一个悬而未决的问题,gem不会将参数转发给av

https://github.com/ruby-av/paperclip-av-transcoder/issues/31

您可以使用旧的已弃用的ffmpeg转码器paperclip-ffmpeg

它很难看,但这是现在唯一有用的东西,我问是否有解决方法https://github.com/ruby-av/paperclip-av-transcoder/issues/32,所以我们会看到......