自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 WebRTC音视频同步详解

本文详细描述了WebRTC音视频同步的原理,附对应的主要函数和对应文件,作为参考。

2020-07-16 12:56:43 10074 12

原创 WebRTC视频JitterBuffer详解

本文从代码层面详细描述了WebRTC的视频JitterBuffer模块的主要功能模块,可以作为代码走读的参考。

2020-06-16 23:42:01 19568 29

原创 WebRTC GCC拥塞控制算法详解

本文从代码层面描述个人对WebRTC拥塞控制算法GCC的一点了解。

2020-06-03 14:54:51 9488 4

原创 基于WASM的H265 Web播放器

本文介绍了在Web环境下使用WASM、WebGL、Web Audio、FFmpeg等技术实现在浏览器上播放H265视频的核心技术,并给出代码,以作参考。

2019-02-07 13:28:41 26943 78

原创 Janus架构以及基本开发

本文介绍Janus的内部结构、主要的数据流程,为Janus的开发提供参考。

2018-12-13 17:16:07 34307 7

原创 WebRTC(M66-M88)关键更新说明

WebRTC(M66-M88)关键更新说明

2021-01-05 15:38:00 3154

原创 WebRTC Qos优化杂记

本文是笔者对WebRTC Qos性能研究、优化的一些思考,希望对有兴趣的读者有一些启发。

2020-07-25 16:19:15 5506 7

原创 FFmpeg支持Cronet(Chromium网络库)

本文介绍FFmpeg调用Chromium的网络库Cronet播放视频的方法,Cronet支持HTTP/HTTP2/QUIC协议,支持Brotli、DOH等高级特性。

2019-09-12 18:39:19 4995 4

原创 Chromium QUIC逻辑

本文对Chromium内部QUIC的使用逻辑做了一些总结。

2019-09-05 18:35:50 1873

原创 FFmpeg支持QUIC

本文介绍了基于Google的QUIC协议封装的bequic库(全平台支持),并集成到FFmpeg中,让FFmpeg可以通过QUIC协议播放视频。

2019-04-04 17:37:33 7221 46

原创 基于OBS的WebRTC H264编码器

基于OBS实现了WebRTC的H264编码器,借助OBS内部已经集成的硬件编码器,降低WebRTC的H264编码CPU消耗。

2019-03-14 00:02:08 3310 8

原创 WebRTC Windows端推1080P/30帧优化

WebRTC Window端推1080P/30帧1 背景2 WebRTC版本3 测试3.1 测试环境3.1.1 硬件3.1.2 软件3.2 测试内容/数据4 一些分析5 结论1 背景Windows端的浏览器(例如Chrome)推1080P/30帧在普通机器上应该是可以的,但是默认的OpenH264软编CPU占用较高,据说在某些特定机器的某些编码参数下可以触发硬件编码,可以有效降低CPU占用。然...

2019-03-04 15:29:33 2385 1

原创 基于WebRTC的直播CDN

本文主要介绍基于WebRTC的CDN系统的结构、原理、工作流程。

2018-12-17 16:22:56 8367

原创 OBS集成WebRTC

本文主要描述:- OBS的输出插件开发;- 外部的YUV视频数据怎么输入WebRTC;- 外部的PCM音频数据怎么输入WebRTC;- 外部怎么实现WebRTC的编码器;- 怎么封装OBS的编码器让WebRTC可以使用X264和硬件编码器。

2018-12-05 19:25:25 9162 6

原创 iOS ARKit推流到WebRTC

本文介绍了iOS使用WebRTC推ARKit合成流的方法,包含核心代码。

2018-10-07 00:20:19 1821

原创 WebRTC Android端软件/硬件编解码的策略

本文介绍了WebRTC Android端软/硬编/解的策略,包含黑白名单、错误检测自动回退等措施。

2018-10-06 23:24:55 1733

原创 WebRTC的丢包计算方法

本文介绍了WebRTC内部计算丢包的算法,其跟RTT的计算有紧密联系,在Janus等服务优化丢包逻辑时可以作为参考。

2018-09-06 22:13:54 5145

原创 WebRTC+libwebsockets+Janus的秒开实践

本文主要介绍了基于WebRTC、Janus的直播系统优化秒开时间的主要方法,主要是信令的简化、CDN的优化部署、Janus dtls握手优化等。Janus有一个必丢第一个dtls握手包的问题,需要客户端容错。

2018-08-25 15:12:10 10459 13

原创 WebRTC、Janus卡顿优化实践(SPS、PPS丢包)

本文介绍了WebRTC弱网下丢SPS、PPS包导致明显较长时间卡顿的解决方法,适用于各个平台APP端。如果是丢其他的包,可以通过NACK重传在一个RTT内快速回复,而SPS、PPS丢包则不行。

2018-08-25 08:54:23 5457

原创 WebRTC的NACK和RTX简述

背景在丢包 10%下测试WebRTC,发现丢包导致的卡顿,需要一些开启一些机制来保证丢包重传。摘要简述WebRTC中NACK、RTX的功能和联系。正文NACK、RTX是WebRTC里丢包重传策略,两个策略之间有一定的联系。NACK:接收端通过RTCP将丢包的序列号通知给发送端,让发送端重传该包。RTX:发送端在新的SSRC上发送重传包或者冗余包。两者均需要通过sdp协商...

2018-08-24 16:51:46 7661 4

原创 IOS下实现高性能画板橡皮擦的办法

摘要IOS下使用CAShapeLayer+UIBezierPath实现互动画板时橡皮擦的实现方式。背景要在IOS端做一个在线教育DEMO,集成音视频互动、PPT白板互动、聊天等功能。画板实现IOS画板有很多实现,主要有DrawRect+UIBezierPath:实现比较简单,橡皮擦也好实现,但是CPU较高,内存消耗大。 CAShapeLayer+UIBezierPath:...

2018-07-18 10:14:23 3751 3

原创 WebRTC Windows版编译(支持H264+OpenSSL)

摘要 本文介绍了在Windows下编译WebRTC的方法,WebRTC默认支持VP8、VP9(谷歌自己的编码)和BoringSSL(谷歌的OpenSSL分支,主要修复一些OpenSSL主线的漏洞),本文将介绍在Windows下让WebRTC支持使用更广泛的H264、OpenSSL的方法。版本 本文使用的版本是57,我下载WebRTC代码的时候最新版本是62,但是为了方便编译...

2018-03-24 18:57:07 5293 2

原创 openssl windows自动编译+静态库符号缺失问题(/Fd选项)

摘要:    本文描述使用bat脚本自动编译openssl1.0.2j的过程,并解释了使用openssl静态库时可能出现的链接告警(warning LNK4099: PDB 'lib.pdb' was not found),原因是其符号文件lib.pdb缺失,本文提供的编译脚本将符号文件一并拷贝到输出目录。其背景是在windows平台下编译webrtc的debug版本时,在不使用boringssl...

2018-03-24 10:09:02 2339

原创 C调用LUA各种方式的性能对比

测试从C调用Lua函数几种方法的性能对比。

2017-11-16 16:38:07 2154

原创 opencv的单应矩阵相机标定

给定同一相机在不同角度拍摄的不同照片,如果标定计算机的内参(焦距、主点)、外参(主要是旋转矩阵)opencv的图片拼接demo stitching_detailed中有示例主要过程:1.surf /orb算法查找两个图片的特征点;2.匹配两个图片的特征点,匹配过程中使用RANSAC算法计算单应矩阵;3.根据单应矩阵计算焦距;4.根据单应矩阵、焦距等参数计算旋转矩阵;5.

2017-03-21 14:03:02 6040 1

原创 opencv warp(扭曲)球面投影的原理

关于坐标系变换,可以参考:http://blog.csdn.net/wangxiaokun671903/article/details/37966891在opencv的全景视频拼接demo stitching_detailed中,用到了warp,主要是创建用于多幅图像融合的表面,默认是球面投影,其原理分析如下:直观说分3步:1.矩形->曲面矩形铺在球面上(像素坐标系->世界坐标

2017-03-09 17:28:10 10095 4

原创 DirectVobSub(VsFilter)的基本原理和实现实现

VsFilter是一个字幕叠加的库,目前由MPC-HC维护,其最新版本为2.41,本文即基于此版本。从实现层面上来说,其内部是一个DirectShow的Transform Filter,负责将字幕文件中的字幕转换成bitmap并叠加在从输入Pin进入的图像,并交给输出Pin。线程结构:VsFilter接口是线程安全的,主要包含两个线程:1.文件监控线程:CDirectVobSubFilter::T...

2017-01-04 15:35:40 2620

原创 在客户端程序中使用OpenSSL来实现HTTPS在证书认证上的一些分析

在客户端程序中使用OpenSSL来实现HTTPS在证书认证上的一些分析ssl握手一般流程:http://blog.csdn.net/wzsy/article/details/38332819通过wireshark抓包,可以确认一般情况下SSl握手的主要过程:1.客户端发送client hello,发送随机数、算法集;2.服务器端发送server hello,发送

2016-12-26 18:28:56 1914 3

空空如也

空空如也

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

TA关注的人

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