webrtc 支持h264 思路

本文探讨了如何解决Webrtc项目中H264模块缺失的问题,并介绍了如何检查手机是否支持NEON指令以优化H264编码性能。文中还提供了结合开源项目的思路和方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文的原文连接是: http://blog.youkuaiyun.com/freewebsys/article/details/47174209 未经博主允许不得转载。

1,遇到问题

首先webrtc是非常好的开源项目,本身就是专门搞这个的公司,被google收购然后开源的项目。
可以快速搭建一个视频聊天项目,而且也可以自己进行编译。
https://github.com/pristineio/webrtc-build-scripts
使用maven直接下载好编译的so jar工程。
http://mvnrepository.com/artifact/io.pristine/libjingle

但是由于google推广vp8,vp9的问题,h264这个模块肯定被砍下了。
google已经非常大度的开放了整个项目,就差这个h264,而且h264还有版权费。

测试了下效果,如果使用vp8我的三星收集跑不了720p的视频聊天。
太费cpu了。这个是一个无法绕过去的坑,只能使用h264解决。

2,查看手机android支持neon

使用adb shell连接到手机上。

cat /proc/cpuinfo                                   
Processor   : ARMv7 Processor rev 3 (v7l)
processor   : 0
BogoMIPS    : 38.40

processor   : 1
BogoMIPS    : 38.40

processor   : 2
BogoMIPS    : 38.40

processor   : 3
BogoMIPS    : 38.40

Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xc07
CPU revision    : 3

Hardware    : Qualcomm MSM 8226 (Flattened Device Tree)
Revision    : 0007
Serial      : 0000000000000000

说明手机已经支持NEON指令了,而h264就是利用NEON加速的。

3,思路&方案

本文的原文连接是: http://blog.youkuaiyun.com/freewebsys/article/details/47174209 未经博主允许不得转载。

不是专门做c开发的,搞这个难度有点大。
基本思路就是参考google group上面的方案。能搜索到的唯一一个资料了。

https://groups.google.com/forum/#!topic/discuss-webrtc/U-y3or-dBOU
这个哥们提供了一个wrapping。
也没有看懂。
cisco开源了一个叫openh264的项目。
https://github.com/cisco/openh264
http://www.openh264.org/ 项目官方网站
通过啥办法把着两个项目结合起来就行了。

要不然就是等着这俩哥们和好吧。。。。

WebRTC是一种用于实时通信的开放式框架,支持音视频传输和数据传输。然而,原生的WebRTC API不支持H265编解码,只支持H264编解码。因此,为了兼容H265并降低延迟,可以采用一种新的实现思路。 这个实现思路是使用WebRTC的DataChannel作为传输协议,并使用WebAssembly(wasm)来实现H265的解码。可以使用C语言编写H265解码的代码,并将其编译成JavaScript库,供前端调用。同时,可以使用WebGL来进行视频渲染。 通过使用DataChannel,可以控制缓存和传输数据的方式。DataChannel基于UDP协议,可以在解码和渲染过程中进行自定义缓存,从而理论上可以大大降低延迟。这种方案的整体实现包括WebRTC DataChannel、WebAssembly H265解码和WebGL渲染。 总体而言,这种方案使用了WebRTC的DataChannel来传输数据,使用WebAssembly实现H265解码,并使用WebGL进行渲染。这种方案将在一系列文章中介绍其实现和细节。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [webrtc支持H265(一)webrtc datachannel的特性](https://blog.youkuaiyun.com/mo4776/article/details/131333916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值