我有一台服务器正在使用网络摄像头拍摄视频片段并将其放入#{Rails.root}/app/assets/videos
。问题是在重新启动服务器之前,我无法看到新创建的视频剪辑。有解决方法吗?
这是控制器中的代码:
@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>
答案 0 :(得分:1)
Rails期望public/
仅包含rails服务器启动时(或在rails初始化期间构建并放置在那里)的所有静态资产,并且在部署新代码之前不会更改。
如果您希望将视频文件与Rails配合使用,则需要使用其他存储系统来存储视频文件。您需要更新Rails应用程序以了解如何处理另一个存储系统。
Amazon S3和Rackspace云文件是不错的选择,但服务器上的一个众所周知的目录也可以正常工作(它不能是public/
)。您可以使用CarrierWave gem来提供帮助。