如何让以 H.264 编码的视频流在“WebView”中播放?

Kar*_*odi 2 html video android webview crosswalk

我有一个带有 html5 视频播放器的远程托管网页,可以流式传输 H.264 编码的视频。我需要在我的 Android Activity 中嵌入这个页面(不是在浏览器中从外部打开)。最新的 Android System Webview(63.0 版)不支持 H.264 编码,Crosswalk 的 Webview 也不支持(与我的硬件架构匹配)。我有哪些选择?

Mic*_*ick 6

更新答案

经过一番挖掘,似乎Android中的webview确实存在支持h.264的问题。这是因为它基于 Chromium,默认情况下不包括 h.264 支持(涉及专利等的悠久历史)。

目前最常见的建议似乎是构建您自己的 Chromium Web 视图,构建选项/标志包括 h.264。

这是 Chrome 的一个已知限制,在撰写本文时,此处列出了一个未解决的错误:

Chrome 和 Chromium 之间的区别在别处有详细记录,但在这种情况下的关键点之一是 Chromium 是完全开源的,因此避免包含专有组件,这就是为什么不包含许可的 H.264 编解码器的原因。

带更正的原始答案

[除非发生了一些变化,否则标准的 Android 网页视图应该支持] Android 设备和 Android chrome 浏览器通常支持 h.264 视频(只要配置文件和设置在设备支持的设置范围内 - 最初使用基线配置文件进行测试是一种安全的开始方式)。但是,在撰写本文时,基于 Chromium 的 Android Webview 不支持 h.264。

默认支持的视频格式集可在此处获得:https : //developer.android.com/guide/topics/media/media-formats.html#video-formats

Android 网页视图中存在已知/报告的 WebRTC 和 h.264 问题 但共识是这是 webRTC 相关的,AFAIK - 请参阅:https : //groups.google.com/a/chromium.org/forum/#!topic/android-webview -dev/ hVZdHK6MKfI