故障排除

点击下载教程相关资源

媒体格式问题

选择视频格式

我想要拥有单一来源,并且不关心实时/自适应流媒体:

现在大多数浏览器都可以播放带有 h264视频的 MP4。如果您想要单一来源,并且既不考虑实时流媒体也不考虑自适应流媒体,那么带有 h264 视频和 acc 音频的 MP4 是一个不错的选择。

最常见的不支持 MP4 的浏览器位于 Linux 上,用户可能需要安装额外的编解码器支持,但在某些情况下并不希望这样做。您可以提供一系列替代来源。webm和/或ogv作为后备很有用,但所有支持 MP4 的浏览器都不支持它们。

我需要自适应流式传输或实时流式传输

Video.js 7+ 支持 HLS 和 MPEG-DASH 作为标准,因为它包括http-streaming,它使用媒体源扩展在现代浏览器中播放这些格式。如果选择单一格式,HLS 更方便,因为 iOS 和一些不支持 MSE 的 Android 浏览器确实具有原生 HLS 支持。

HLS 无法在 Windows 7 上的 IE 11 上使用,因为 Windows 7 不支持 MSE。

对于较旧的 Video.js 版本,http-streaming或其前身videojs-contrib-hlsvideojs-contrib-dash添加了类似的支持,但为了获得最佳结果,请使用最新的 Video.js。

确保您使用的是 Video.js 可以播放的格式:

  • 您的浏览器/操作系统是否支持您尝试播放的媒体类型?

  • 您是否有一个 Video.js 插件可以向 Video.js 添加对媒体格式的支持?例如videojs-youtube

  • 验证您的视频使用的MIME 类型/内容类型是否正确。这用于确定 Video.js 是否可以播放某种类型的媒体。

确保文件容器中使用的编解码器受支持:

  • MP4 格式可以包含许多编解码器中的视频和音频数据,但浏览器中的 MP4 播放通常仅支持 h264 视频和 MP3 或 AAC 音频。

  • 文件扩展名并不总是反映文件内容。例如,一些低端手机以 3GP 格式保存视频,但为其提供 MP4 扩展名。这些文件将不会播放。

如果您使用 Flash 视频:

托管媒体时出现的问题

  • 您的服务器必须正确支持字节范围请求,因为 Chrome 和 Safari 依赖于它们:

    • 大多数服务器默认支持此功能。

    • 如果您通过服务器端脚本 (PHP) 代理媒体文件,则该脚本必须实现范围。PHP 默认情况下不这样做。

    • 不这样做的影响范围从搜索被破坏到根本无法播放(在 iOS 上)。

    • 您使用的是 HLS 或 MPEG-DASH 等格式,并且您的媒体是从与您的页面不同的域提供的。

    • 您正在使用文本轨道(标题、副标题等),并且它们是从与您的页面不同的域提供的。

全屏问题

  • 如果您的播放器位于 iframe 中,则该 iframe和任何父 iframe 必须具有以下属性才能允许全屏显示:

    • allowfullscreen

    • webkitallowfullscreen

    • mozallowfullscreen

播放问题

  • 确保媒体主机支持字节范围请求,这可能会破坏播放。有关详细信息,请参阅托管媒体时出现的问题。

  • 如果您的媒体需要很长时间才能开始播放或在播放之前下载整个媒体:

    • 媒体的元数据可能未包含在媒体的开头。在 MP4 术语中,这称为“moov 原子”。许多编码器默认配置为执行此操作,其他编码器可能要求您选择“快速启动”或“优化流式传输”选项。

Video.js 错误

vdata123456 错误

当从 DOM 中删除与组件关联的元素但未删除与该元素关联的事件处理程序时,会引发此错误。这几乎总是由于在组件上调用 dispose 时未释放事件侦听器。

要解决此问题,请确保在处置时清除所有事件侦听器。

未捕获的引用错误:X 未定义

此类错误(具体情况X有所不同)可能是由网络工作人员使用的转译破坏代码引起的。有关如何防止这种情况的详细信息,请参阅webpack 指南。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号