HTML5 视频无法流式传输并且需要 90 秒才能加载

2023-11-27

我有一个 HTML5 视频播放器:

<video width="800" height="475" id ="video" controls="" src="" autoplay></video>

这在开发中似乎 100% 有效,但在生产中视频可能需要长达 90 秒的加载时间。我想弄清楚 html5 播放器是否真的是一个流媒体播放器,还是需要先完整下载?一位同事告诉我,设置标签如下:

<video width="800" height="475" id ="video" controls="" src="" preload="none" autoplay></video>

将预加载选项设置为“无”或“元数据”应该会强制浏览器流式传输视频,而不是缓冲整个内容。我在这里有什么选择?我应该放弃html5播放器吗?我的印象是 html5 播放器是在我们的 Intranet 上播放流媒体视频的正确方法。有什么建议么?


因为您必须通过公共互联网而不是本地网络移动文件,所以您需要使用 ffmpeg 之类的工具将元数据(MOOV 原子)移动到视频文件的前面,以便它可以更快地开始流式传输

./ffmpeg -y -i SourceFile.mp4 -s 1280x720 -c:v libx264 -b 3M -strict -2 -movflags faststart DestFile.mp4

上面的代码将为您提供 1280x720 的输出,在 mp4 容器中使用 h264 以 3Mbps 的速度输出,然后执行第二遍将 moov 元素移动到文件的前面,使其能够更快地开始流式传输(请参阅这个答案了解更多细节)。

您还应该检查您的生产服务器配置是否与您的开发服务器匹配,特别是支持字节范围请求的能力,从而允许更优化的内容流

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5 视频无法流式传输并且需要 90 秒才能加载 的相关文章

  • 如何更改bootstrap中form-control弹出窗口中必填字段的默认消息?

  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 如何阻止破折号自行包裹?

    我有一个标题 标题最后一个单词的末尾是一个破折号 单词和破折号之间没有空格 当浏览器窗口变小时 破折号会中断并换成新行 在自己的行上有一个破折号是不好的排版 如何停止破折号之前的换行 以便最后一个单词运行到新行 这是代码 h1 XYZ co
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • Schema.org 的常见问题解答页面

    我有一个常见问题解答页面 我想用更好的 html 架构来实现它
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • FireFox 中的“contenteditable = true”高度问题

    当有空的时候div with contenteditable true CSS contenteditable true border 1px dashed dedede padding 3px HTML div div 在 IE 和 Ch

随机推荐

  • java 电话号码验证

    这是我的问题 为电话号码创建一个构造函数 给定本地号码的 xxx xxx xxxx 或 xxx xxxx 形式的字符串 如果格式无效 则抛出异常 所以我想使用正则表达式来验证它 但我不知道我做得是否正确 另外我必须抛出什么样的异常 我需要创
  • Gitlab 屏蔽变量

    我似乎无法屏蔽 Gitlab CI 上的变量 我正在尝试上传 ssh 私钥 但无论我做什么 它都拒绝屏蔽它 那是我正在尝试存储私钥在 Gitlab 上供我的生产服务器拥有公钥的 Gitlab 运行程序使用 我不是问如何在构建过程中将其介绍给
  • 詹金斯作业重启后消失

    我在 Jenkins 1 5 31 中遇到这个奇怪的问题 我已经配置了 Maven 作业 我仍然在 Jenkins Home 目录中看到它 尽管我仍然可以通过默认端口 8080 访问 Jenkins 但我的 Jenkins Windows
  • 如何在gdb中打印-0x4(%rbp)?

    反汇编中有这样的代码 movl 0x6 0x4 rbp 我尝试以这种方式打印该值但失败 gdb p 0x4 esp A syntax error in expression near esp gdb p 0x4 esp Argument t
  • 为什么我的dispatch_once会陷入僵局?

    为什么我会陷入僵局 void foo static dispatch once t onceToken dispatch once onceToken self foo whatever 我预计foo第一次调用时执行两次 现有的答案都不是很
  • MCrypt rijndael-256 到 OpenSSL aes-256-ecb 转换

    由于 Mcrypt 已被弃用 我想在代码中使用 OpenSSL 因为我们已经在服务器中使用 php 7 2 4 我使用以下代码进行加密 解密 加密 function encrypt text salt if text return if s
  • 增加 EWS 流订阅连接的生命周期元素

    使用 Microsoft 的 EWS 我们能够监听邮箱并在收到新电子邮件时采取行动 但是 我不知道如何避免连接超时 根据 Microsoft 的说法 以下是 StreamingSubscriptionConnection 的构造函数 pub
  • django模板系统,调用模型内的函数

    我想在模板中调用模型中的函数 例如 class ChannelStatus models Model def get related deltas self epk mystring if not self get error code d
  • 将信息从 Chromium Embedded (Javascript) 发送到包含 C++ 的应用程序

    查看 Chromium 嵌入式框架示例后 我有一个问题 我需要与窗口的嵌入部分进行本机交互 然而 在 CEF 示例中 我看到的只是 c 向浏览器发送消息 而不是相反 我想知道是否有任何方法可以从 JavaScript 从 C 发送消息 就像
  • R 将因子 ID 变量转换为数字 ID 变量

    我对 R 编程有疑问 在花了几个小时查看互联网和 Stack Overflow 上的潜在响应后 我不知道如何解决它 我在 data frame 的一列中有一个因子变量 如下所示 Columnname agsgssg agsgssg agsg
  • 将设备中的磁场 X、Y、Z 值转换为全局参考系

    当您使用 TYPE MAGNETOMETER 传感器时 您将获得与设备方向相关的磁场强度的 X Y Z 值 我想要得到的是将这些值转换为全局参考系 澄清 用户拿起设备 测量这些值 然后将设备绕任何轴旋转一定角度并获得相同的值 请在下面找到类
  • 如何找到数组中至少重复N/2次的元素?

    给定一个包含 N 个元素的数组 我们知道其中一个元素至少重复 N 2 次 我们对其他元素一无所知 它们可能是重复的 也可能是唯一的 有没有办法找出单次重复至少 N 2 次或者可能是 O N 的元素 无需使用额外空间 由于其他用户已经发布了该
  • scikit-learn 中的分层训练/测试分割

    我需要将数据分为训练集 75 和测试集 25 我目前使用下面的代码来做到这一点 X Xt userInfo userInfo train sklearn cross validation train test split X userInf
  • 将 thunk 传递给 puppeteer 的 $.eval

    功能setValue接收一个值并返回一个函数 在第二个函数中 我试图控制台记录以下值value但我得到 Error Evaluation failed ReferenceError value is not defined 我的代码如下 可
  • C 定义的值意外更改

    我有很多 define在我的代码中 现在 一个奇怪的问题出现了 我有这个 define ImmSign 010100 我正在尝试模拟一个二进制数 显然 我期望这个数字变成10100 但是当我使用这个数字时 它已经变成了4160 这里发生了什
  • 用户定义的文字参数中的初始值设定项列表

    我不知道这是否可能 但我想做类似的事情 int someval 1 if 1 2 3 4 v contains someval 但是当我尝试将文字定义为 std vector
  • 用户身份验证未保留在 Laravel 包中

    这是我第一次尝试 Laravel 包 并遇到了一个问题 其中 Auth attempt credentials 在我的登录控制器中工作 但在重定向到受保护的路由或控制器时 用户不再经过身份验证 下面是我的登录控制器方法 其中重定向到仪表板已
  • 在 Windows 上使用 XAMPP 安装 PHP YAML 扩展

    大家好 我目前正在 PhP 上做一些工作 需要我使用以下方法解析 YAML 文件yaml parse file 功能 我对这门语言还很陌生 所以当我尝试在 Windows 上未经修改的 XAMPP 服务器上使用该函数时 我收到错误 找不到函
  • 如何单击或点击 TextView 文本

    我知道这很简单 doh 但我正在寻找一种方法来运行在 Android 应用程序中点击或单击 TextView 文本行的方法 我一直在考虑按钮侦听器和匿名方法侦听器调用 但它似乎不适用于 TextView 有人可以向我指出一些代码片段 以展示
  • HTML5 视频无法流式传输并且需要 90 秒才能加载

    我有一个 HTML5 视频播放器