2018-05-24 Piasy
分析完应用上层的视频采集、渲染、编码之后,原本我是打算把完整的 WebRTC 带到 Flutter 的世界里,形成 FlutterRTC 的,但后来仔细想想,这件事没多大意思,做出来了也不能产生多大价值,所以我决定调头深入底层。 本篇算是真正深入底层的第一篇,让我们深究一下之前没有深究的话题:视频数据 native 层之旅,以及 WebRTC 对视频数据的处理。最近对 iOS 上层的分析也不算白费,毕竟在 iOS 平台深入底层,无论是编译还是调试都更方便。 继续阅读 »
2018-08-18 jude
初次尝试 React Native 开发需要注意的几点 继续阅读 »
2017-08-26 Piasy
有时候我们需要在 APP 运行时验证当前 APP 是否被篡改,而 SDK 提供方通常也需要验证 APP 是否被授权,今天我们就来探讨一下如何在 native 层实现这一功能,以及在这个过程中的一些要点和技巧。 认证方案 我们先探讨一下有哪些认证方案。 继续阅读 »
2017-08-11 Piasy
前面三篇中,我们依次分析了 WebRTC Android 的视频采集、视频渲染和视频硬编码,Live Streaming 视频的前段就已经全了。WebRTC 是个宝,初窥这部分代码时就被它的 Capturer 类的设计惊艳到了,仔细品鉴后越发佩服起来,里面简直填了太多坑了,如此宝贝,如不能为我所用,岂非一大憾事!而前三篇的解读,正是为了今天能将其剥离出来所做的铺垫,现在就有请我们今天的主角——VideoCRE, Video Capture, Render and Encode——闪亮登场。 继续阅读 »
2018-05-04 Piasy
和对 WebRTC Android 的分析一样,继采集和渲染之后,现在让我们分析一下 WebRTC iOS 的视频硬编码实现。 iOS 的视频硬编码用到的是 VideoToolbox 库,除了编码,VideoToolbox 还提供了解码、转码等功能。我们先了解一下 VideoToolbox 编码的基本工作流程,再看看 WebRTC 对它的使用。 继续阅读 »
2018-06-05 Piasy
去年十一月份我就打上了 WebRTC 混音模块的主意,并且做了一些尝试,不过最终没有做完,半年多过去了,正好最近工作上对此有了需求,所以这次就趁热打铁,把它彻底吃掉 :) 本文的分析基于 WebRTC 的 #23295 提交。 AudioMixer 的使用 继续阅读 »
2018-09-14 Piasy
我真正接触 WebRTC 的 ADM 是在做 iOS 混音的时候,iOS 的音频采集、播放之前没有做过,所以想着从 WebRTC 的音频采集播放代码里借鉴一下 AudioUnit 的使用,结果折腾了半天愣是没搞定,后来索性直接使用了 ADM,为混音项目草草地画上了句号。 继续阅读 »
2017-07-24 Piasy
前面分享了一套开箱即用的 WebRTC 开发环境,希望能给对 WebRTC 感兴趣的朋友带来帮助。不过有了开发环境只是迈出了万里长征第一步,后面的事情还得仔细研读源码才行,所以这里给大家先带来 WebRTC 的安卓 demo 工程—— AppRTC-Native 的源码导读系列。(十个月前说好的拆 Dagger2 看来又要等等了,海涵海涵...) 继续阅读 »
2018-10-14 Piasy
第一次看到 WebRTC 这个词是 15 年在一期 Android Weekly 中,但当时完全看不懂它在讲什么,也就没有深究。两年后,我开始搞起 WebRTC,并整理出了一套开箱即用的 WebRTC 开发环境,距今又过了一年多。 继续阅读 »
2018-07-31 Piasy
一年前我初步分析了 WebRTC 的 P2P 连接过程,并总结为了安卓 P2P 连接过程和 DataChannel 使用一文,那会儿我刚接触 WebRTC C++ 的代码,看起来着实头大,而且安卓的代码要调试、测试也很麻烦,所以很多细节就没有展开,今天就让我们在 iOS 的工程里,对 P2P 连接的过程进行一个彻底的剖析。 继续阅读 »