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

相关推荐
RoboWizard2 小时前
怎么判断我的电脑是否支持PCIe 5.0 SSD?Kingston FURY Renegade G5
java·spring·智能手机·电脑·金士顿
玩电脑的辣条哥3 小时前
有个静态页面.html在一台电脑上,局域网手机怎么才能用手机浏览器访问这个页面?
智能手机
wanhengidc9 小时前
服务器在企业中的作用与价值
运维·服务器·arm开发·安全·智能手机·玩游戏
wanhengidc15 小时前
云手机 基于云计算的虚拟手机
运维·服务器·游戏·智能手机·云计算
wanhengidc1 天前
云手机适配用户有哪些?
服务器·arm开发·安全·智能手机·玩游戏
源码_V_saaskw1 天前
JAVA国际版二手交易系统手机回收好物回收发布闲置商品系统源码支持APP+H5
java·开发语言·微信·智能手机·微信小程序·小程序
双翌视觉1 天前
机器视觉的手机模组背光贴合应用
人工智能·机器学习·智能手机·1024程序员节
马 孔 多 在下雨1 天前
手机App上的轮播图是如何实现的—探究安卓轮播图
android·智能手机
咕噜企业签名分发-淼淼1 天前
app分发平台哪个好点?手机app应用内测分发平台支持负载均衡的重要性
运维·智能手机·负载均衡
wanhengidc2 天前
服务器受到网络攻击该怎么办
服务器·arm开发·智能手机·玩游戏