我创建了一个带有视频附件的rails类,并且我想知道如何获取上传到我的应用程序的视频长度。我怎样才能做到这一点?Ruby on Rails:作为回形针附件的视频长度
2
A
回答
2
使用ffmpeg
和RVideo
宝石,这是一个薄薄的Ruby包装。 RVideo
项目有很多分支,我个人使用http://github.com/greatseth/rvideo
,因为它支持从视频捕获帧并将它们保存为图像。当这一切都建立了,你可以这样做:
# For Paperclip 2
video_attributes = RVideo::Inspector.new(:file => self.upload.to_file.path, :ffmpeg_binary => "/usr/local/bin/ffmpeg")
video_attributes.duration # duration in milliseconds
# For Paperclip 3
video_attributes = RVideo::Inspector.new(:file => self.upload.queued_for_write[:original].path)
video_attributes.duration # duration in milliseconds
5
我没有得到Rvideo工作充分,创业板还未四年更新一次。然而,这个工程:
before_post_process :get_video_duration
def get_video_duration
result = `ffmpeg -i #{self.video.to_file.path} 2>&1`
r = result.match("Duration: ([0-9]+):([0-9]+):([0-9]+).([0-9]+)")
if r
self.duration = r[1].to_i*3600+r[2].to_i*60+r[3].to_i
end
end
+0
这有效,但你可能需要使用staged_path的视频,如果你还没有存储过:'ffmpeg -i#{self.video.staged_path} 2>&1',这对我有效 – joseramonc 2016-05-06 17:55:20
1
我不得不近日做到这一点,这是我的方法:
before_post_process do
file = data.queued_for_write[:original].path
self.duration = Paperclip.run("ffprobe", '-i %s -show_entries format=duration -v quiet -of csv="p=0"' % file).to_f
end
ffprobe
由ffmpeg的安装,所以如果你有安装你可能好走。
相关问题
- 1. Ruby on Rails - 回形针 - NoHandleError
- 2. Ruby on Rails的 - 回形针ROLLBACK TRANSACTION
- 3. Ruby on Rails:回形针错误
- 4. 回形针ruby on rails s3 to_file方法
- 5. Image_tag .blank? - 回形针 - Ruby on rails
- 6. Ruby On Rails回形针建议?
- 7. Ruby on Rails图库使用回形针
- 8. Ruby on Rails阿凡达回形针:: CommandNotFoundError
- 9. Ruby on Rails回形针update_attributes不起作用
- 10. 使用paperclip-av-transcoder的回形针视频附件错误
- 11. Ruby on Rails:使用多步骤形式的回形针
- 12. Rails回形针 - 跳过附件保存
- 13. Ruby on Rails 4 - 回形针AWS Image URL是错误的?
- 14. Ruby on rails使用回形针的图片库
- 15. Ruby on Rails视图中的最大长度
- 16. Ruby on Rails图形
- 17. 如何使用回形针为Ruby on Rails(5)创建音频文件的自定义处理器
- 18. Ruby on Rails,回形针,Heroku,GitHub和AWS - 安全密钥
- 19. Ruby on Rails /回形针/ AWS :: S3 :: NoSuchBucket错误
- 20. Ruby on Rails回形针多重上传,嵌套属性
- 21. Ruby on Rails回形针图像尺寸验证器
- 22. 如何使用Ruby on Rails“自动化”回形针?
- 23. Rails视频上传回形针回形针-av-transcoder表格保存
- 24. 通过电子邮件发送回形针文件作为附件 - Rails
- 25. Rails回形针:在保存附件后执行某些操作
- 26. 视频上传与路径回形针折叠,但不能有鉴于网址Ruby on Rails的
- 27. 回形针保存附件
- 28. Ruby on Rails前端的音频文件
- 29. Ruby on Rails视图
- 30. Ruby on rails - 回形针:生产模式下的png文件出错
伟大的作品,thx本。 – giosakti 2009-12-08 05:21:34