我创建了一个带有视频附件的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中使用回形针和ffmpeg转换视频
- 3. Ruby on Rails的 - 回形针ROLLBACK TRANSACTION
- 4. Ruby on Rails:回形针错误
- 5. Ruby on Rails图库使用回形针
- 6. Image_tag .blank? - 回形针 - Ruby on rails
- 7. Ruby On Rails回形针建议?
- 8. Ruby on Rails阿凡达回形针:: CommandNotFoundError
- 9. Ruby on Rails回形针协会Dropdown
- 10. 回形针ruby on rails s3 to_file方法
- 11. 制作回形针附件
- 12. Ruby on Rails回形针update_attributes不起作用
- 13. 使用paperclip-av-transcoder的回形针视频附件错误
- 14. Ruby on Rails:使用多步骤形式的回形针
- 15. Ruby on Rails,从回形针中删除文件
- 16. Rails回形针 - 跳过附件保存
- 17. Ruby on Rails。波形音频宝石
- 18. Ruby on rails使用回形针的图片库
- 19. Ruby on Rails的4 - 回形针+ S3 +设计上传表单
- 20. 用回形针更新Ruby on Rails上的头像
- 21. Ruby on Rails的:获取回形针图像
- 22. Ruby on Rails 4 - 回形针AWS Image URL是错误的?
- 23. Ruby on Rails的 - 回形针得到图片
- 24. Ruby on Rails:在后台转换音频并使用回形针上传?
- 25. 回形针视频上传
- 26. Ruby on Rails视图中的最大长度
- 27. Ruby on Rails图形
- 28. 如何使用回形针为Ruby on Rails(5)创建音频文件的自定义处理器
- 29. Ruby on Rails /回形针/ AWS :: S3 :: NoSuchBucket错误
- 30. Ruby on Rails回形针多重上传,嵌套属性
伟大的作品,thx本。 – giosakti 2009-12-08 05:21:34