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

相关推荐
wanhengidc21 小时前
云手机的未来发展怎么样?
运维·安全·游戏·智能手机
余(18538162800)1 天前
碰一碰发视频手机版源码开发:支持OEM
智能手机·音视频
wanhengidc2 天前
云手机会占用本地手机内存吗?
运维·服务器·网络·安全·智能手机
跨境小新2 天前
手机移动代理IP:使用、配置、维护的10问10答
网络协议·tcp/ip·智能手机
scorpion_V2 天前
WebRTC 结合云手机:释放实时通信与虚拟手机的强大协同效能
vue.js·智能手机·webrtc
柳鲲鹏2 天前
VIVO/OPPO手机,显示5G开关
5g·智能手机
黑客影儿3 天前
使用UE5开发2.5D开放世界战略养成类游戏的硬件配置指南
开发语言·c++·人工智能·游戏·智能手机·ue5·游戏引擎
wanhengidc3 天前
云手机挂机掉线是由哪些因素造成的?
运维·服务器·网络·安全·智能手机
Digitally3 天前
如何轻松永久删除 Android 手机上的短信
android·智能手机
云手机掌柜4 天前
海外媒体引流进阶:指纹手机的全维度技术支持与实践应用
智能手机·媒体