上传的视频不保持宽高比。在自述文件(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
答案 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,所以我们会看到......