android - 如何让以 H.264 编码的视频流在 "WebView"中播放?

标签 android html video webview crosswalk

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

最佳答案

更新的答案

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

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

这是 Chrome 的一个已知限制,在撰写本文时这里列出了一个 Unresolved 错误:

Chrome 和 Chromium 之间的差异在其他地方有详细记录,但本文的关键点之一是 Chromium 是完全开源的,因此避免包含专有组件,这就是不包含许可的 H.264 编解码器的原因。

修改后的原始答案

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

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

Android WebView 中存在已知/报告的 WebRTC 和 h.264 问题但共识是这是与 webRTC 相关的,据我所知- 参见:https://groups.google.com/a/chromium.org/forum/#!topic/android-webview-dev/hVZdHK6MKfI

关于android - 如何让以 H.264 编码的视频流在 "WebView"中播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322413/

相关文章:

android - 在android中使用opencv进行图像旋转会切断图像的边缘

html - 使用 Bootstrap 3 的网格系统

javascript - 表格顶部和底部的水平滚动条

javascript - 优化 Javascript

c++ - FFMpeg C Lib - 转置导致图像损坏

android - 拉动以刷新android中的水平 ListView

java - 需要序列化的 EnqueueWork 导致 AsyncTask 崩溃

android - 应用程序在 Android 后台运行时发送 GPS 数据

javascript - 如何在视频开始/停止时调整视频大小?

iOS 应用程序 : Preview Layer freezes after Recording button is clicked