2011-08-25 30 views
0

我有一臺服務器正在使用攝像頭拍攝視頻剪輯並將它們放置在#{Rails.root}/app/assets/videos中。問題是我無法看到新創建的視頻剪輯,直到服務器重新啓動。有沒有解決方法?如果創建新文件,Rails 3.1資產管道需要重新啓動?

這裏的控制器代碼:

@file_name = Time.now.strftime("%Y-%m-%d_%H-%M-%S-%p") + ".mp4" 
system("ffmpeg -f video4linux2 -s 320x240 -t 10 -i /dev/video0 
    #{Rails.root.to_s}/app/assets/videos/#{@file_name}") 

並在視圖:

<video src="/assets/<%= @file_name %>" width="320" height="240"> 
Your browser does not support the video tag. 
</video> 

回答

1

Rails的預計,public/包含都在那裏當軌道服務器啓動(或僅僅是靜態資產在rails初始化期間構建並放置在那裏),並且直到部署新代碼時纔會更改。

如果您希望它能夠與Rails一起使用,您將需要使用其他一些存儲系統來存儲視頻文件。您需要更新Rails應用程序以瞭解如何處理其他存儲系統。

Amazon S3和Rackspace雲文件是不錯的選擇,但您的服務器上的着名目錄可能也適用(它不能是public/)。您可以使用CarrierWave gem來提供幫助。