【问题标题】:video (.mp4) stored on Amazon S3 starts to download instead of playing in the video player存储在 Amazon S3 上的视频 (.mp4) 开始下载,而不是在视频播放器中播放
【发布时间】:2013-10-24 09:36:48
【问题描述】:

对于我的 Rails CourseApp,我想让存储在数据库中的视频文件 (.mp4) 可用。

这是我的视频的链接,因为它存储在数据库中:

"https://s3-eu-west-1.amazonaws.com/courseapp/videos/sigkledij_eng_verun.mp4"

在我的 Rails 视图中,iFrame 定义为:

<iframe width="420" height="315" src="https://s3-eu-west-1.amazonaws.com/courseapp/videos/sigkledij_eng_verun.mp4" frameborder="0" allowfullscreen></iframe>

但是,当我尝试在视频播放器中观看此视频时,它没有播放,而是开始下载。

奇怪的是,通过 Amazon 的 CloudFront 访问的另一个视频文件(它不是我的视频之一,仅用于测试目的),它确实开始在视频播放器中播放

有谁熟悉这个问题?

感谢您的帮助,

安东尼

【问题讨论】:

  • 发现了问题。我必须将我的 Amazon S3 存储桶(在属性 > 元数据下)中的内容类型从 application/octet-stream 更改为 video/mp4

标签: ruby-on-rails video amazon-s3


【解决方案1】:

尝试使用video_tag 而不是iframe...

参考这个

<video width="800" height="467" poster="media/example.png">
    <source src="<%= Rails.root+"/public/"+@video.source.url%>">
</video>

【讨论】:

    【解决方案2】:

    今晚刚遇到同样的问题。元数据不再有“video/mp4”选项,但选择“audio/mpeg”也允许它流式传输而不是下载。

    【讨论】:

      【解决方案3】:

      在 amazon S3 元数据设置中,将“Key: Content-Type”值更改为“video/mp4”(不带引号)。

      它似乎不是下拉选择列表中的一个选项,但您可以从此处(或文本编辑器)复制并在“值”字段中粘贴。

      【讨论】:

      • 我的视频在某些版本的 Firefox 中播放,而在某些其他版本中则抛出错误。当然这是内容类型的问题。通过将内容类型显式传递为 s3_headers 来解决它
      • 如果我更改特定对象的内容类型,它会播放。但我想为我上传的所有视频实施。怎么办?
      • 这个答案很有帮助,谢谢大家,我也遇到了同样的问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      相关资源
      最近更新 更多