关于手机是否支持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博客

相关推荐
计算机毕设vx_bysj686913 小时前
【免费领源码】77196基于java的手机银行app管理系统的设计与实现 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·mysql·智能手机·课程设计
私人珍藏库18 小时前
【Android】一键硬核锁手机
android·智能手机·app·工具·软件
唔661 天前
flutter TextTheme 手机端适配验证
flutter·智能手机
私人珍藏库1 天前
【Android】GameNative 0.9.0 [特殊字符] 手机畅玩Steam游戏
android·游戏·智能手机·app·工具·软件·多功能
wanhengidc1 天前
云手机搬砖安全吗
大数据·运维·服务器·安全·游戏·智能手机
wanhengidc1 天前
服务器管理器的作用有哪些?
运维·服务器·网络·安全·游戏·智能手机
应用市场2 天前
手机卫星通信原理深度解析:从物理层到协议栈的全面技术剖析
智能手机
皮皮虾12342 天前
六边云手机 VS VMOS 云手机 VS 红手指云手机哪个好?
智能手机
bitbrowser2 天前
2026 社媒多账号运营:实体手机与云端设备该怎么选?
智能手机
独特的螺狮粉2 天前
开源鸿蒙跨平台Flutter开发:手机清理小助手应用
开发语言·flutter·游戏·智能手机·开源·harmonyos·鸿蒙