关于手机是否支持h264的问题的解决方案

目录

现象

原理

修改内容



现象

开始以为是手机不支持h264的编码 。机器人chatgpt一通乱扯。

后来检查了下手机,明显是有h264嘛。

终于搞定,不枉凌晨三点起来思考

原理

WebRTC 默认使用的视频编码器是VP8和VP9,WebRTC内置了这两种编码器的软件实现,因此使用WebRTC进行视频通信的时候视频编码器都是VP8或者VP9,当需要用到H264格式的时候发现WebRTC在sdp协商过程中就失败了,通过查看sdp信息,发现sdp中完全没有H264相关的信息,也就是说手机不支持H264,这是不可能的,H264作为视频的主流编码器,手机厂商不可能不支持,而且大部分手机厂商都将H264编码算法植入到硬件中,实现了H264的硬件编解码。

如何让WebRTC支持H264,需要看一下WebRTC的源码,看一下HardwareVideoEncoderFactory这个类,有一个isHardwareSupportedInCurrentSdk私有方法,这个方法就是判断当前的Android 版本是否支持硬件编码,里面调用了一个方法isHardwareSupportedInCurrentSdkH264,找到H264了,同样这个方法是用来判断当前Android版本是否这次H264硬件编码器

修改内容

参考文档

WebRTC 支持H264编解码_webrtc android h264-CSDN博客

相关推荐
新诺韦尔API6 小时前
如何快速接入手机携号转网查询接口?
大数据·智能手机·api
L、2189 小时前
性能调优实战:Flutter 在 OpenHarmony 上的内存、渲染与启动速度优化指南
javascript·华为·智能手机·electron·harmonyos
2501_916007479 小时前
苹果手机iOS应用管理全指南与隐藏功能详解
android·ios·智能手机·小程序·uni-app·iphone·webview
Yao_YongChao12 小时前
adb wifi连接Android手机
android·adb·智能手机·无线连接手机·wifi连接手机
周杰伦_Jay14 小时前
【Open-AutoGLM】手机端智能助理框架详解
智能手机·架构·开源·云计算
L、21815 小时前
Flutter 与 OpenHarmony 的“共生进化论”:从技术融合到生态共建
javascript·flutter·华为·智能手机·electron·harmonyos
wanhengidc15 小时前
云手机的扩展性怎么样?
运维·服务器·科技·安全·游戏·智能手机
周杰伦_Jay16 小时前
【AutoGLM部署】本地私有化部署AI手机Agent
人工智能·智能手机
wanhengidc16 小时前
在线服务器的功能都有哪些
运维·服务器·科技·智能手机·云计算
北冥有鱼被烹16 小时前
微知-华为手机如何通过过开发者选项设置动画渲染速度?如何设置屏幕分辨率
智能手机