自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 音视频直播--技术架构

今天和大家讲一下音视频直播技术架构。之前的关注点主要放在客户端如何采集音频数据上,经过这两天的思考,我觉得应该先给大家讲一下音视频直播技术架构,这样更容易从整体上理解视频直播技术是如何运转的,之后再逐步的介绍每一个主题。

2017-07-28 12:38:32 6993

原创 音视频直播技术漫谈

今天的给大家简单的介绍一下音视频技术主要应用于哪些产品, 以及这些产品都涉及到哪些技术,并简单讲一下每种技术的难点,最后我想谈一谈音视频直播的未来。产品分类现在大家一谈到音视频直播就会想到花椒、映客等娱乐直播,还有斗鱼、熊猫等游戏直播,这两种直播我们将它们统称为泛娱乐化直播。其实音视频直播技术不光应用于这类泛娱乐直播,还有很多其它类型的直播,如音视频会议、教育直播等,这两种我们称之为实时互动直播

2017-07-27 19:46:15 1333

原创 音视频直播--Android视频采集(Camera2)

介绍今天为大家介绍一下如何在 Android 上进行视频采集。在 Android 系统下有两套 API 可以进行视频采集,它们是 Camera 和 Camera2 。Camera是以前老的 API ,从 Android 5.0(21)之后就已经放弃了。我今天主要给大家介绍一下如何使用 Camera2 进行视频的采集。原码可以在这里获取Camera2 整体工作结构

2017-07-25 13:19:55 1233

原创 深入理解Android NDK编译环境

通过 ndk-build 进行 Android NDK 交叉编译。

2017-07-01 00:33:32 773

原创 《WebRTC源码深入剖析》总结

我精心打造的新课 《WebRTC源码深入剖析》 终于更新完了!!!2021年年初,在完成了我的处女作《WebRTC音视频实时互动技术——原理、实战与源码分析》一书之后,我终于下定决心,出一部WebRTC源码分析的课程了。...

2022-06-05 12:17:27 973

原创 音视频通信为什么要选择WebRTC?

音视频通信为什么要选择WebRTC?在网上经常看到有人说:“在线教育直播是用WebRTC做的”,“音视频会议是用WebRTC做的”……;“声网、腾讯、阿里……都使用的WebRTC”。但你有没有好奇,这些一线大厂为什么都要使用WebRTC呢?换句话说,WebRTC到底好在哪里呢?这个问题,对于长期做音视频实时通信的老手来说是不言而喻的;但对于新手,则是急切想知道,而又很难得到答案的问题。那么本文我将采用对比法,向你详细阐述一下WebRTC到底好在哪里。这次我们对比的指标包括:性能、易用性、可维护性、流行

2021-09-12 16:10:53 1544 3

原创 半天学会 Swift

swift与c/c++对比学习

2017-12-01 23:46:21 723

原创 H264基本原理

H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的。随着 x264/openh264以及ffmpeg等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使用H264的成本。但为了用好H264,我们还是要对H264的基本原理弄清楚才行。今天我们就来看看H264的基本原理。

2017-11-15 02:23:43 85726 17

原创 Windows 下视频采集

这两天一直在分析 Windows 下 WebRtc 的代码,所以有些日子没有写东西了。今天来聊聊Windows 下的视频采集。现在在网上查 Windows 相关的技术可不容易。在百度上能查到的资料基本是 2014 年之前的文章,可以看出这两年 Windows 下滑的有多厉害。Google 又无法使用,真是让人欲哭无泪啊。废话少说,咱们还是直入正题。

2017-11-07 23:41:39 3144 1

原创 为了分析WebRTC, 重学Windows开发

N多年没有写过 Window 程序了。为了研究 WebRTC 源码,这两天重新学习一下。还记得上大学的时候看过 《Windows95 程式设计》台湾版,对那本书印象极为深刻。一是当时国内确实没有一本写的那么深入的书籍,二是那本书翻译的特别好,让人一看就特别明白。10多年过多了,当时的情景还记忆犹新,也可见那本书写的有多好了。Windows开发有很多知识点,窗口啊,句柄啊,消息啊,重绘啊,baba …

2017-10-26 23:27:11 1005

原创 iOS 实时音频采集与播放

在iOS中有很多方法可以进行音视频采集。如 AVCaptureDevice, AudioQueue以及Audio Unit。其中 Audio Unit是最底层的接口,它的优点是功能强大,延迟低; 而缺点是学习成本高,难度大。对于一般的iOS应用程序,AVCaptureDevice和AudioQueue完全够用了。但对于音视频直播,最好还是使用 Audio Unit 进行处理,这样可以达到最佳的效。

2017-09-18 23:50:45 7262

原创 「音视频直播技术」Android下H264解码

上一篇文章中我介绍了如何使用MediaCodec编码,今天我们再来分析一下如何通过 MediaCodec 进行解码。

2017-09-08 22:22:21 1045 1

原创 「音视频直播技术」Android下视频H264编码

今天为大家介绍一下音视频直播技术中的视频编码。在移动端通过Camera采集到视频数据后,我们不会直接将它发送出去。因为采集后的视频数据量非常大,比如 1280x720 分辨率的一帧数据,就有可能达到6M大小(码率越高,图像越清晰)。这6M数据如果送到网上传输,会给网络带来非常大的负担。另外,人眼对图像的识别是有限的。拿手机屏幕来说,1K屏与2K屏对于人眼来说是看不出来它们之间的区别的。

2017-09-08 22:17:00 1860 1

原创 「音视频直播技术」Android视频采集(Camera1)

今天为大家介绍一下使用Camera1进行视频采集。之前我写过一篇文章介绍的是Camera2进行视频采集。那么有人会问,为什么有了Camera2还要介绍Camera1呢?这里最主要的原因是因为Android版本众多,Camera2是Google新推出的视频采集架构,但很多老的机型还不支持,所以为了兼容性的问题,我们还不能放弃使用Camera1进行视频的采集。

2017-09-08 22:10:00 570

原创 「音视频直播技术」OpenGL渲染之着色器

本文介绍一下OpenGL的基本概念。在OpenGL中,只能画三种图元,点、线、三角型。在OpenGLES2.0之后,引用也GLSL(OpenGL Shader Languge),它类似于C语言的语法。着色器类型有两种常用着色器,分别是顶点着色器(Vertex Shader)和片元着色器(Fragment Shader)。

2017-09-08 22:04:11 832

原创 「音视频直播技术」OpenGL渲染之坐标系变换

本文主要介绍一下在OpenGL中用到的各种坐标系,及其之间的转换。

2017-09-08 22:01:18 384

原创 「音视频直播技术」OpenGL渲染之距阵变换

OpenGL是一个非常庞大而又专业的知识,如果想完全撑握它需要花不少时间。而视频渲染只用到了OpenGL的一小部分知识,所以我们就采取用多少学多少的办法,这样可以让我们更专注于音视频直播技术。

2017-09-08 21:16:01 500

原创 「WebRTC」最新 WebRTC 源码目录结构分析

最近一直在研究 WebRTC源码,发现目前网上分析WebRTC源码的资料非常少。随着Google不断推进WebRTC标准,WebRTC 代码的变化非常大,很多以前的分析文章目前都与最新的代码无法对应上了。所以,我想在分析WebRTC代码的过程中,将自己的一些分析心得写下来分享给大家,这样即是对自己的一种鞭策,同时也可以帮助那些想入门的同学。

2017-09-08 21:09:47 8034 3

原创 最优秀的开源库之GPUImage

我们都知道对于视频的采集,IOS提供了 AVFoundtion 库,这个库非常强大,可以做很多事情。但如果我们要对里边的每个函数都仔细的过一遍的话还是要花不少时间的,而且还可能有很多坑在等着我们。是否有这方面比较好的开源库呢?这样我们不就轻松的跳过了这些坑了吗?于是我发现了GPUImage库。

2017-09-08 21:04:24 7276

原创 「GPUImage」IOS初学者容易掉入的坑

今天想弄个GPUImage的例子运行下看看效果,结果没成想坑进了一系列坑中,花了大半天时间才从坑里爬出来。虽然时间已经不早了,但还是先做个总结,一是防止自己再落入坑中,二也给后来者提供点帮助。

2017-09-08 20:47:35 1758

原创 音视频直播技术--视频渲染之EGL

我们在Andriod系统下做视频渲染时要使用 OpengGL ES, 而使用 OpengGL ES 就不得不提到 EGL。那么EGL是什么呢?它又在渲染时起到什么作用呢?今天我就给大家介绍一下 EGL.什么是EGLEGL是一套用于管理绘制Surface的API。

2017-08-27 19:55:05 831

原创 坐标系变换数学基础

什么是齐次坐标用[n+1]维数组表示n维坐标的方法叫齐次坐标法(Homogenous coordinate)。 首先,许多图形应用涉及到几何变换,主要包括平移、旋转、缩放。以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为p’ = m1 * p + m2

2017-08-25 15:41:35 983

原创 音视频直播技术--在Windows下编译WebRTC

前言随着音视频技术的不断普及,Google推出的 WebRTC 越来越受到大家的喜欢。现在很多直播产品都是基于WebRTC 进行二次开发做出来的。WebRTC是提供了一整套处理实时音视频的开源库。它包括了音视频处理(采集,编解码,前处理,后处理,渲染),数据传输(实时传输,流控)和业务逻辑控制。可以说 WebRTC 的出现大大减少了做音视频开发的难度,所以熟练掌握好这个库对于做音视频相关的同学就显的

2017-08-25 15:37:13 1211

原创 音视频直播技术--实时互动中的多视频展示

大家好,今天我为大家介绍一下如何在Android系统下实现实时直播互动中的多视频展示功能。 我们现在都清楚实时直播互动中多路视频的展示是目前比较流行的趋势,因为大家都想看到更多视频画面的需求,是非常符合人类的习惯的。大家都知道,在Android系统下显示视频主要有三种View,分别是SurfaceView、GLSurfaceView及TextureView。

2017-08-20 20:59:28 803

原创 音视频直播技术--深度理解Handler 与 HandlerThread

今天我为大家讲解一下Android系统下的Handler机制。做过Android系统开发的人都清楚,App应用程序的主线程是决对不能被阻塞的,因为它的主线程就是UI线程。一旦它被阻塞了,用户会感觉APP卡死似的,基本就没法使用了。所以在音视频直播项目中,我们对摄像头的控制,视频画面的渲染都要放在子线程中进行。

2017-08-11 00:06:56 416

原创 音视频直播技术--10分钟搭建好直播平台

前言今天给大家讲一下如何搭建最简单的音视频直播平台。在之前的文章中我已经给大家介绍过音视频直播技术架构,没看过的同学可以看一下。了解了直播的技术架构,我们就亲手把它搭建出来,也让自己有点成就感。

2017-08-11 00:01:23 8000 1

原创 音视频直播技术--SurfaceView、GLSurfaceView与TextureView

前言今天给大家介绍一下在Android系统下视频如何渲染与展示。 我们都知道一个直播客户端对音视频的处理主要由以下几大部分组成:1. 数据采集; 2. 编码; 3. 传输; 4. 解码;5.渲染与展示。 前些日子为大家讲了一下如何通过Camera进行数据采集,没看过的可以看一下。今天讲的就是渲染与展示。

2017-08-10 23:54:50 4111

原创 音视频直播技术--Android视频采集(Camera2)

今天为大家介绍一下如何在 Android 上进行视频采集。在 Android 系统下有两套 API 可以进行视频采集,它们是 Camera 和 Camera2 。Camera是以前老的 API ,从 Android 5.0(21)之后就已经放弃了。我今天主要给大家介绍一下如何使用 Camera2 进行视频的采集。

2017-07-24 20:26:41 1453

原创 深入理解 Android NDK 编译(二)

使用 CMake 进行Android NDK编译的原理

2017-07-02 21:13:53 4708

原创 Linux/Mac 交叉编译 Android 程序

在Linux环境下交叉编译 Android 程序

2017-06-29 23:20:51 2191

原创 Android Gradle 初识

想了解 Android,必须要了解 gradle。因为gradle是Android Studio指定的自动编译脚本,它有点像 Linux C开发中的 Makefile。下

2017-06-26 19:18:06 275

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除