Piasy

NEVER STOP

封装、发布一个腾讯 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...

一、六、十、廿八

往年的年终总结基本就是各个方面随便说几句,最后来个未来展望,19 年状态太差,实在没心思多说,但今年非常特殊,所以要来点章法: 做了哪些重大决定/事? 当时是怎么考虑的? 现在感想如何? 未来如何规划/改进? 除了 2020,我还想再多回顾和反思一些,工作六年、北京十年、人生廿八载。 2020 今年肯定是目前为止转折最大的一年,婚姻、工作、生活,都是我主动寻...

OWT Server 进阶(三):RTCP 流程

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

RTP:Audio and video for the Internet 中文版阅读笔记

之前发现连接 OWT Server 4.3.x 时,无法获取到 audio sending 相关的 stats,最终定位到是没有收到 Server 的音频 RTCP RR 报文,为了分析这个问题,我决定梳理一下 OWT Server 的 RTCP 流程,于是便有了 VSCode 远程调试 Docker 里的 OWT Server。不过在扎进代码之前,我决定先系统学习一下 RTP 协议,正好今...

WebRTC 只编译 DataChannel

上周一位朋友在知识星球里提问: 博主你好,我们是做 P2P 流媒体的,简单的说就是用 DataChannel 来传输数据,不需要用到音视频那些功能,但发布的 SDK 却不得不打包整个 WebRTC,太大了而且感觉没必要。请问有没有什么办法把 P2P 连接和 DataChannel 模块单独弄出来呢? 看到这个问题,我第一反应就是我曾在 WebRTC 代码库里看到过相关的 gn 选...

VSCode 远程调试 Docker 里的 OWT Server

不久前在群里听说了 VSCode 远程调试很厉害,但一直没试过,其实我认为,对于服务端程序,靠单步调试分析问题应该不是首选,主要还是得通过日志分析。不过如果是为了熟悉代码流程,那还是很有帮助的。之前我是通过静态看代码,再结合少量加日志,理清了音视频数据的完整转发、合成流程,但这次当我试图梳理 RTCP 流程时,代码看起来始终不得要领,于是想着干脆单步起来吧。直接上 gdb 命令行调试,肯定也...

2020 51 Hackathon

自从 HackWebRTC 书稿交给出版社编辑后,很多事情的推进都显得有些劲头不足,「给 AvConf 增加 Linux 平台支持并对服务器做压测」这件事,基本拖了整个四月,但还是没搞定。所以在 51 假期开始前,我就构思了一个 Hackathon,准备在这个出不了门的 51 一口气搞定一个事情。从待办事项列表中看来看去,最后确定了目标:给 AvConf 写一个日志自动处理工具。 这个事情...