【问题标题】:Video shows black screen after uploading with PaperClip AV使用 PaperClip AV 上传视频后显示黑屏
【发布时间】:2015-10-25 18:00:47
【问题描述】:

我正在使用 PaperClip AV 转码器,当我上传视频时,我看到的只是黑色图像。我认为视频没有上传。

我是否还必须安装视频播放器,还是 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 版本的屏幕截图:

【问题讨论】:

  • 我只是想检查一下,我假设您有某种触发播放事件的 Javascript 函数,对吧?如果没有,video_tag 只会吐出一个没有控件的原生 video 标签。所以,什么都不会发生(尽管我希望它会显示第一帧)。如果你想控制测试,你可以试试video_tag @pin.video.url, :controls =&gt; true
  • 我添加了这个,它确实添加了播放按钮和音量。但是即使我按下播放按钮仍然只是黑屏。我有一种感觉,由于某种原因,视频没有上传。感谢您的建议,我想知道如何添加播放按钮

标签: ruby-on-rails ruby video paperclip


【解决方案1】:

当您使用transcoder 作为您的处理器时。你也需要安装这个paperclip-av-transcoder gem。 (如果还没有,添加到您的Gemfile 并执行:bundle install)。

另外,您可能需要在您的机器上install ffmpeg 让处理器在本地工作。

完成这些步骤后,它应该适合您。

【讨论】:

  • 我安装了最新版本的回形针-av-转码器,我相信我正确安装了 ffmpeg
  • 尝试安装视频播放器,然后告诉我们!
  • 你知道有什么免费的 ruby​​ 视频播放器吗?
  • 顺便说一句,您使用哪个浏览器来尝试视频?在这里查看什么浏览器支持什么格式:caniuse.com/#search=video
  • 对 HTML5 使用 &lt;video&gt; tag
【解决方案2】:

有几个步骤可以调试这个。


首先,您需要检查视频文件是否已保存

如果视频文件存在,则表示您的问题在于播放(而不是处理)。因此您需要浏览到public/system/.....

如果你在你的开发机器上,你可以通过简单地浏览到/public/system来做到这一点,如果你正在使用Heroku或其他网络服务器,你必须SSH进入bashcd 到目录:

Heroku

$ heroku run bash
$ cd public/system
$ ls

SSH

SSH into your system
cd /app_root/public/system
ls

然后您就可以浏览文件夹以找到包含您的视频的相应目录...

--

如果您的系统上有视频,则表示它们已被处理。

如果它们在您的系统上,您需要咨询您的logs(在此处发布它们),并向我们展示可能出现的错误。

播放您的视频,您可以使用HTML5 &lt;video&gt; tag (Rails video_tag):

<%= video_tag @attachment.paperclip_object.url %>

这将显示视频(如果已转码为 MP4 或其他兼容文件格式),允许播放。


封面

另一个问题是封面图片。

看来您已正确设置;您可以按如下方式使用它:

<%= video_tag @attachment.paperclip_object.url, poster: @attachment.paperclip_object.thumb.url %>

【讨论】:

    猜你喜欢
    • 2016-08-23
    • 2020-11-29
    • 2017-09-03
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2022-10-14
    相关资源
    最近更新 更多