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