我創建了一個帶有視頻附件的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