Piasy

NEVER STOP

Hack WebRTC 38316

时光飞逝,转眼间更新 HackWebRTC 到 88 release 已经过去了一年半 两年多。又是这么巧,最近(22 年 11 月份)OWT 把 WebRTC 代码 rebase 到了 108 release 上,那就正好把 HackWebRTC 也更新一波,这次是从 32599 到 38316,将近六千个提交。 TL; DR 不喜欢听故事,只对代码干货感兴趣的朋友,可以直接看这几个 ...

封装、发布一个腾讯 mars xlog 的 KMP lib(续):更多平台

本文是封装、发布一个腾讯 mars xlog 的 KMP lib 的续集,添加了更多平台的支持:JS/Linux/Windows/macOS。也探索了这些平台的库发布方案,以及单元测试,最后测试了一下 iOS 平台引入 KMP 的包大小成本(147KB)。 JS 支持 我首先添加的是 JS 平台的支持,但显然腾讯的 mars xlog 是没有 JS 平台的。经过一番调研,我发现在浏览器环...

Android 使用 OpenSSL 库

背景 不久前我在封装 libdatachannel Android 库中介绍了通过 prefab 在项目中引入 OpenSSL 依赖,当时确实是解决了项目所需,不过后来碰到了一个兼容性问题,在 Android 5.x 系统上,加载依赖了 OpenSSL 的库时,会 crash: E dlopen("/xxxxxx/lib/arm/libdatachannel.so", RTLD_LAZ...

封装 libdatachannel Android 库

差不多三年前,我和 cdnbye 合作了对 WebRTC 的极致裁剪,今天我们再次合作,对 paullouisageneau/libdatachannel 做一个封装,以便在 Android 平台上方便的使用。 因为这个库是对 WebRTC 网络传输层的独立实现,短小精悍,而且据 Pion 作者说 libdatachannel 的内存开销只需要 libWebRTC 的 1/3。 话不多说...

mediasoup 快速入门

差不多四年前,我开始了和 OWT 的故事,并分享了 OWT Server 快速入门,这四年间 mediasoup 当然也是时常接触到的,不过因为一直没有需求,也就基本没碰过,今天就和 mediasoup 来一个虽迟但到的相会吧 :) 编译、运行 demo 官方 demo 项目的组成比 OWT 简单许多,就是 mediasoup-demo,一个 server 目录,一个 app 目录,官方...

封装、发布一个腾讯 mars xlog 的 KMP lib

三年前我分享了基于 Kotlin multiplatform 的多平台 WebRTC SDK,其中就用到了腾讯开源的 mars xlog,几个月前我在再探 Kotlin multiplatform 的时候也用到了,但那时候是把 AvConf 里的 Logging 相关代码 copy 到了 OurBar 里,不优雅,现在要优雅起来了。 此外,Kotlin 官方对 Kotlin multipl...

再探 Kotlin multiplatform

朋友们好久不见,今天的故事是这样的…… 过去一年多的时间里,我刻意在工作之余不碰代码,希望在“生活”上多一些关注,不过最后发现,能持续给我带来快乐的,还是代码。所以前段时间我有了一个项目点子:开发一个投影仪/电视上的 App,可以下载、管理、播放电影,添加一个磁力链接和豆瓣电影链接,就自动把电影下载下来,并且把电影的基本信息从豆瓣页面上提取出来,这样我用投影看电影就会方便很多了。接下来还能...

Hack WebRTC 32599

《WebRTC Native 开发实战》出版快一周年了,书里引用的代码是 #30432(介于 79 和 80 release 之间的一个节点),已经是一年半以前的版本了,虽然 HackWebRTC 有个稍微新一点的 hack_webrtc_30987 分支,不过也有一年多的历史了。刚好今年初 OWT 把 WebRTC 代码 rebase 到了 88 release 上,让我可以省去维护支持 ...

在 WebRTC 项目外单步调试 WebRTC.framework 里的代码

两年半以前我分享了 macOS 下单步调试 WebRTC Android & iOS,说的都是在 WebRTC 项目内进行单步调试,但实际情况中我们显然是要在自己的项目里使用 WebRTC 库,如果这时我们希望能单步调试 WebRTC 库的代码,应该怎么办呢? 今天我再分享下在自己的项目里调试 iOS WebRTC.framework 的方法。 我这边的环境:macOS 10.1...

OWT Server 进阶(三):RTCP 流程

原定的「OWT Server 进阶(二)」主题是 OWT Server 各个模块的宏观结构和流程,不过这个主题在 Hack WebRTC 书中已经涵盖,所以就不在博客里发了,此外书中还详细总结了信令和媒体的 JS/C++ 代码调用流程,敬请期待 :) 正如 RTP: Audio and video for the Internet 中文版阅读笔记 中所言,梳理 OWT Server RTC...