繁体   English   中英

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

[英]How to get a video stream encoded in H.264 to play in a “WebView”?

我有一个带有html5视频播放器的远程托管网页,该播放器可流式传输H.264编码的视频。 我需要将此页面(而不是在浏览器中外部打开)嵌入到我的Android活动中。 最新的Android系统Webview(版本63.0)不支持H.264编码,也不支持Crosswalk的Webview(与我的硬件体系结构匹配)。 我有什么选择?

更新的答案

经过一番挖掘后,似乎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 Web视图中存在已知/报告的WebRTC和h.264问题 但这是与webRTC相关的共识,即AFAIK -请参阅: https//groups.google.com/a/chromium.org/forum/#!topic / android-webview -dev / hVZdHK6MKfI

导致H.264视频流在Android版Chrome上无法正常工作(通常是混杂的)有两个不同的问题:

1)Android版Chrome仅有H.264的硬件实现,而没有软件实现。 目前,H.264仅适用于具有Qualcomm(奇巧和更高版本)或Samsung Exynos(棒棒糖和更高版本)处理器的设备。

2)Android版Chrome中存在与H.264相关的错误

错误消息如下:

Unhandled Promise Rejection: OperationError (DOM Exception 34): 
Failed to set remote offer sdp: Session error code: ERROR_CONTENT. 
Session error description: Failed to set remote video description send parameters..

Chrome Android不提供/回答H.264受限基准配置文件

此问题可能会在Chrome Android M65中解决。 请参阅此以获得更多信息

由于您具有相同的错误消息(在其他答案下以注释的形式看到此消息),因此您的问题与此错误有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM