- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在调查为视频添加 HEVC 支持的可行性,但我在使用 Safari 时遇到了问题。这是示例源:
<video autobuffer="true" autoloop="" loop="" controls="">
<source src="film_WebM.webm" type="video/webm">
<source src="film_HEVC.mp4" type="video/mp4">
<source src="film.mp4" type="video/mp4">
</video>
理想情况下,浏览器应该读取源代码并处理它认为可以读取的第一个文件,这应该允许 Firefox 和 Chromium 显示 VP9 电影,Safari 显示 HEVC 和 Internet Explorer 显示 H264。但是,Safari 播放效果不佳,如果存在 H264,它将忽略 HEVC 电影。我试过用编解码器信息注释源,但这没有帮助。将 HEVC 设置为视频元素的默认源适用于 Safari,但会导致所有其他浏览器出现问题。
有没有什么方法可以在不使用特征检测来操作 src
元素的情况下解决这个问题?
作为 Safari 错误提交给 Apple #37821806
下面的讨论表明,尽管 Apple 有自己的发行说明,但 Safari 可能会基于硬件考虑决定使用 AVC 源。它如何在没有编解码器提示或明显的 mime 类型嗅探的情况下设法做到这一点尚不清楚。如果人们可以测试 codepen demo 将会很有用并在注释中注明播放的编解码器和 Mac 硬件信息。
最佳答案
首先确保您的 HEVC 视频编码正确,以便 Safari 可以播放它。通过从视频标签中删除除指向您的 HEVC 视频的源之外的所有源来测试这一点。如果 Safari 播放它,请继续下一步,否则修复视频文件。
一旦您确定 HEVC 视频与 Safari 兼容,请使用 source
标记中的 type
属性向浏览器提供有关编解码器的提示。到目前为止,您只是告诉浏览器 MP4 容器用于 HEVC 和 H.264 源。浏览器必须下载部分文件才能确定哪些文件兼容,通常是按照 source
标记的顺序。
您可以/应该指定所有使用的编解码器的详细信息,包括视频编解码器,如果涉及音频,还包括音频编解码器。
avc1
代表H.264hvc1
代表 H.265 (HEVC)对于您的示例,最短的版本是这样的:
<video>
<source src="film_WebM.webm" type="video/webm">
<source src="film_HEVC.mp4" type='video/mp4; codecs="hvc1"'>
<source src="film.mp4" type='video/mp4; codecs="avc1"'>
</video>
感谢您在评论中的反馈,我想我弄清楚了是怎么回事:Safari 似乎会考虑您的硬件来选择最佳视频源,这实际上非常聪明。对 H.264 的硬件支持已广泛可用,即使在较旧的硬件上也是如此,而 HEVC/H.265 硬件支持则不是,而且需要更多的 CPU,最终也需要更多的能量(电池)。
因此,尽管您的设备(例如 MBP)和软件可以解码和播放 HEVC 视频,但 Safari 可能更喜欢 H.264 视频源(如果可用)。
我又做了一些测试:
关于video - 让 Safari 更喜欢 HTML 5 视频标签中的 HEVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48902078/
我收到一个错误: prefer_const_literals_to_create_immutables 在这个小部件上: child: Column( children: [
您发现自己最常使用这两种替代方案中的哪一个,哪一个更“惯用”? f arg (obj.DoStuff()) f 参数 <| obj.DoStuff() 最佳答案 总的来说,我不知道哪个更惯用。 就我个
经过一些搜索和测试,我了解了以下有关 lambda 表达式的事实。 1)当我们写一个lambda表达式时,编译器会为它创建一个匿名函数对象,并将其作为函数对象的一个实例; 2)lambda表达式的
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我更喜欢 dplyr 包中的函数 (select)。我加载了一个依赖于屏蔽选择功能的 MASS 包的包。除了约定 dplyr::select() 之外,是否有其他方法更喜欢从 dplyr 包中选择?
这个问题已经有答案了: Do rvalue references to const have any use? (8 个回答) 已关闭 9 年前。 在什么情况下您会更喜欢 void fun(const
我刚刚开始在 python 中使用 libsvm 并进行了一些简单的分类。 问题是我正在构建一个人脸检测系统,并且我想要一个非常低的错误拒绝率。另一方面,支持向量机似乎针对相同的错误拒绝和错误接受进行
我正在使用 GCC's atomic builtins增加一个共享的 volatile int。我只想增加值,我不关心返回值。为此,我应该选择 fetch_and_add 还是 add_and_fet
我在使用 Table View Controller 时遇到 iOS 11 的大标题问题。 我已经在 viewDidLoad 中将 prefersLargeTitles 设置为 true: overr
可以肯定地说,如果我不想在我的容器中重复,并且我不关心元素位置,因为我只想遍历容器,那么我应该使用 unordered_set 而不是 vector? 最佳答案 Is it safe to say t
我已经实现了 iOS 11 功能 prefersLargeTitles,它运行良好。纵向模式按预期工作: 我了解大标题在横向模式下始终保持折叠(小)状态,这对我来说很好。问题是当我尝试更改为横向然后再
这个问题在这里已经有了答案: MySQL vs PostgreSQL? Which should I choose for my Django project? (11 个答案) 关闭 7 年前。
我读过这个answer最后写了以下内容: Anything that you can with volatile can be done with synchronized, but not vice
我正在阅读 Jon Skeet 的书。 (#4) 但有一件事(除其他外)引起了我的注意: 主题: bool 值? 他在表格中写道:(X,Y 是 bool 值?) X | Y |
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: c difference between malloc and calloc 在任何情况下您更喜欢 mall
我使用包装在 UINavigationController 中的 UITableView 实现了一个基本的 UIViewController。我将 prefersLargeTitles 设置为 tru
我有很多 image/webp 图片,希望浏览器为 Safari 提供后备 image/jpg。 出于某种原因,Chrome(以及所有其他浏览器)仍在使用 jpg 图像而不是 webp。
我对 React 比较陌生;如果这是一个非常幼稚的问题,我深表歉意。 browserHistory有哪些技术优势?使其优于 hashHistory ?例如,使用 History API 是否有重大的性
如果我需要一个 Web 服务来回传递一个复杂的对象,我是否有理由更喜欢 SOAP 而不是 REST?以下是可能的 SOAP 消息示例: Joe abc123
我是一名优秀的程序员,十分优秀!