我正在使用PaperClip AV Transcoder,当我上传视频时,我看到的都是黑色图像。我认为视频没有上传。
我是否还必须安装视频播放器,或者PaperClip AV附带吗?
我的模特有视频:
class Pin < ActiveRecord::Base
belongs_to :user
has_attached_file :video, :styles => {
:medium => { :geometry => "640x480", :format => 'mp4' },
:thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10 }
}, :processors => [:transcoder]
validates_attachment_content_type :video, :content_type => ["video/mp4", "video.mov", "video/mpeg","video/mpeg4", "image/jpg", "image/jpeg"]
end
我对视频的展示视图:
<%= video_tag @pin.video.url %>
<p>
<strong>Description:</strong>
<%= @pin.description %>
</p>
<% if @pin.user == current_user %>
<%= link_to 'Edit', edit_pin_path(@pin) %>
<% end %>
<%= link_to 'Back', pins_path %>
我不知道其他代码会有什么帮助。我很乐意写任何可能有用的代码行。
我正在谈论的图片:
这是我的命令行中的ffmpeg版本的屏幕截图:
答案 0 :(得分:1)
当您使用transcoder
作为处理器时。您也需要安装此paperclip-av-transcoder gem。 (如果已经没有,请添加到您的Gemfile
并执行:bundle install
)。
此外,您可能需要在计算机中install ffmpeg以使处理器在本地工作。
完成这些步骤后,它应该适合您。
答案 1 :(得分:0)
有几个步骤可以调试它。
首先,您需要检查视频文件是否已保存。
如果视频文件存在,则表示您的问题在于播放(不是处理)。因此,您需要浏览public/system/.....
如果您使用的是自己的开机,只需浏览/public/system
,即使您正在使用Heroku或其他网络服务器,也可以执行此操作。必须SSH进入目录的bash和cd
:
<强>的Heroku 强>
$ heroku run bash
$ cd public/system
$ ls
<强> SSH 强>
SSH into your system
cd /app_root/public/system
ls
然后,您就可以浏览文件夹,找到包含视频的相应目录...
-
如果您的系统上有视频,则意味着他们已经过处理。
如果他们在您的系统上不,您需要咨询logs
(在此处发布),并告诉我们错误可能是什么。
要播放您的视频,您就可以使用HTML5 <video>
tag(Rails video_tag
):
<%= video_tag @attachment.paperclip_object.url %>
这将显示视频(如果它已被转码为MP4或其他兼容的文件格式),允许播放。
<强>盖强>
您将遇到的另一个问题是封面图片。
看来你已经正确地设置了它;您可以按如下方式使用它:
<%= video_tag @attachment.paperclip_object.url, poster: @attachment.paperclip_object.thumb.url %>