首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平装视频上传

平装视频上传
EN

Stack Overflow用户
提问于 2013-10-07 10:30:51
回答 2查看 8.9K关注 0票数 4

我正试图在我的帖子中启用视频上传。不能让它显示视频。视频上传,我可以确认,而我设法右击视频区域并下载它。问题是如何正确地看待它。

迁移:

代码语言:javascript
复制
class AddAttachmentVideoToPosts < ActiveRecord::Migration
  def self.up
    change_table :posts do |t|
      t.attachment :video
    end
  end

  def self.down
    drop_attached_file :posts, :video
  end
end
 def change
    create_table :videos do |t|
        t.string :video_file_name
        t.string :video_content_type
        t.integer :video_file_size
        t.datetime :video_updated_at

        t.timestamps
    end
end

Post模型

代码语言:javascript
复制
class Post < ActiveRecord::Base
    default_scope :order => 'created_at desc'
    attr_accessible :content, :title, :photo, :photo_delete, :video, :video_delete, :dependent => :destroy
    has_attached_file :photo, :styles => {  :thumb => "600x600#", :medium => "300x300#", :small => "160x160#"}
    has_attached_file :video
    validates_uniqueness_of :title
    validates_presence_of :title, :content
    has_destroyable_file :photo, :video
end

视频部分在我的帖子_form

代码语言:javascript
复制
<div class="visible-md visible-lg">
  <%= f.file_field :video, :style => "float: left;" %>
  <%= f.check_box :video_delete, :style => "float: left;" %> &nbsp;Delete video
  </div><br />
<div class="visible-xs">
  <%= f.file_field :video, :style => "center" %>
  <%= f.check_box :video_delete, :style => "center" %> &nbsp;Delete video
</div><br />

邮政展览中的视频部分

代码语言:javascript
复制
<% if @post.video? %>
<h1 class="center">
<%= @post.title %>
</h1><br />
<%= video_path @post.video.url %>       
<% end %>

我也尝试过使用不起作用的video_tag,当我尝试使用:

代码语言:javascript
复制
<iframe width="490" height="275" src="<%= video_path @post.video.url %>" frameborder="0" allowfullscreen autoplay="true">
            </iframe>

我找了个不打的球员。如果你仔细看一看,也许能帮我想出一个可行的解决方案,我会非常感激的。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-10 09:42:20

您应该使用video标记,而不是iframe (只有video标记有自动播放选项)。在这里检查什么浏览器支持什么格式:http://caniuse.com/#search=video

如果您想要跨浏览器解决方案,请在这里尝试VideoJS - http://www.videojs.com/,您可以获得一个Rails插件- rails

票数 2
EN

Stack Overflow用户

发布于 2015-10-14 20:45:24

剪纸视频上传:

就在上周,我也遇到了同样的问题--试试这个!

代码语言:javascript
复制
Video model:
    has_attached_file :video, styles: {
        :medium => {
          :geometry => "640x480",
          :format => 'mp4'
        },
        :thumb => { :geometry => "160x120", :format => 'jpeg', :time => 10}
    }, :processors => [:transcoder]
    validates_attachment_content_type :video, content_type: /\Avideo\/.*\Z/

确保你已经打包好了:

代码语言:javascript
复制
gem 'paperclip', '~> 4.3.1'
gem 'aws-sdk', '< 2.0'
gem 'paperclip-av-transcoder'
gem "paperclip-ffmpeg", "~> 1.2.0"

运行回形针迁移:

代码语言:javascript
复制
rails g paperclip model video

一定要添加post_controller.rb:

代码语言:javascript
复制
private

    def bscenes_params
        params.require(:post).permit(:video)
    end

上传表格:

代码语言:javascript
复制
<%= f.file_field :video %>

显示页:

代码语言:javascript
复制
<%= video_tag bscene.video.url(:medium), controls: true, style: "max-width: 100%;" %>

此时,您应该得到以下错误:

代码语言:javascript
复制
Av::UnableToDetect (Unable to detect any supported library):

到您的终端输入:

代码语言:javascript
复制
brew options ffmpeg

然后运行以下命令来安装ffmpeg:

代码语言:javascript
复制
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

重新启动您的服务器并尝试现在上传一个视频!希望这有帮助-快乐编码:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19222492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档