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

相关推荐
lauo40 分钟前
【智体OS】ibbot智体机灵 V1.0:你的手机AI超脑,一句话开启智体时代————终将打败OpenClaw的国产开源项目
人工智能·智能手机
modem协议笔记3 小时前
3GPP R19 中redcap支持PC 2
网络·5g·智能手机
灵狐数据FoxData4 小时前
2025全球应用下载类别洞察:游戏持续领跑,工具与内容类应用重塑全球需求
程序人生·智能手机·生活·业界资讯·娱乐·媒体
AirDroid_cn2 天前
荣耀MagicOS 10系统手电筒亮度:如何在控制中心快速调节手电筒的亮度等级?
智能手机·荣耀手机
晚霞的不甘2 天前
全场景性能调优实战:HarmonyOS 应用在手机、平板与 PC 上的深度优化指南
网络·华为·智能手机·电脑·harmonyos
麟听科技3 天前
HarmonyOS 6.0+ PC端企业级数据分析平台开发实战:大数据处理与可视化报表落地
人工智能·分布式·华为·智能手机·数据分析·harmonyos
TheNextByte13 天前
如何轻松地将 iPhone 上的信息传输到荣耀手机
智能手机·cocoa·iphone
AirDroid_cn3 天前
一加手机怎样远程控制oppo?手机自带的功能可以实现吗?
智能手机
TheNextByte13 天前
将三星手机通话记录传输到电脑的 4 种简易方法
智能手机·电脑
JFSJHFZJ4 天前
清理手机顽固缓存,轻松释放几GB空间
缓存·智能手机