epubcn
码龄23年
关注
提问 私信
  • 博客:184,355
    社区:135
    184,490
    总访问量
  • 43
    原创
  • 40,150
    排名
  • 191
    粉丝
  • 3
    铁粉
  • 学习成就

个人简介:RTC Developer worked on Windows, macOS and Android. Aquarium and succulent plants hobbyist. Father, husband

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2001-10-20
博客简介:

我的玻璃盒子

博客描述:
RTC Developer worked on Windows, macOS and Android. Aquarium and succulent plants hobbyist.
查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    368
    当月
    2
个人成就
  • 获得129次点赞
  • 内容获得220次评论
  • 获得390次收藏
  • 代码片获得149次分享
创作历程
  • 3篇
    2024年
  • 2篇
    2022年
  • 6篇
    2021年
  • 3篇
    2020年
  • 16篇
    2019年
  • 8篇
    2018年
  • 9篇
    2017年
成就勋章
TA的专栏
  • electron
    1篇
  • Audio
    1篇
  • H5
    1篇
  • ffmpeg
    2篇
  • webrtc
    24篇
  • android
    6篇
  • 杂物箱
    8篇
  • CEF
    11篇
兴趣领域 设置
  • 编程语言
    java
  • 数据结构与算法
    数据结构
  • 移动开发
    android studiogradle
  • 软件工程
    性能优化
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

百家云 BRTC:革新华为 HarmonyOS NEXT 系统的实时通信体验

近期,百家云 BRTC 实时音视频平台推出了针对华为 HarmonyOS NEXT 系统的原生 RTC SDK,进一步扩大和丰富了 BRTC 产品的产品矩阵,为广大需要 RTC 能力的个人、企业提供了更加丰富的选择,注入新的活力。
原创
发布博客 2024.09.03 ·
721 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

WebRTC录制的挑战和解决方案

本文就如何设计一个完善的音视频录制系统架构,需要考虑的各个方面进行了简单的阐述。尽可能将实时音视频录制系统在各种场景下,不同方案的优劣进行对比说明。相信通过本文的介绍,对您了解实时音视频录制系统会有一个全面的认知。
翻译
发布博客 2024.03.19 ·
402 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

时隔 3 年,再次编译 Electron 源码,记录下各种花式错误

2020 年 11 月份我曾经发过一篇文章,当时纯粹只是为了体验一下编译过程,没什么实际用途。因为当时公司的产品还在使用 CEF,所以后续就没有继续跟进了。过去一两年的时间,公司的产品已经逐渐从 CEF 过渡开始使用 Electron 了,有些原来在 CEF 上的修改,有些场景可能还是有需要在 Electron 上来修改。所以,最近我又重新编译了一次 Electron。这次的编译比 3 年多那次遇到了更多的问题,这里尽可能逐一记录下来,以便后续参考。这次编译的版本是指定了v20.3.12。
原创
发布博客 2024.02.04 ·
1503 阅读 ·
19 点赞 ·
1 评论 ·
12 收藏

WebRTC 视频流发送统计报告

在每次视频推流或拉流结束后,WebRTC都会输出本次视频推拉流的统计报告。其中包含了关于评价本次推拉流质量相关的若干参数。本文的主要目的是介绍视频推流相关的统计指标含义。
原创
发布博客 2022.10.13 ·
1036 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

WebRTC 视频流接收统计报告

本文介绍了 WebRTC 视频流发送统计报告(ReceiveStatisticsProxy)中主要度量指标的含义。文章基于WebRTC M94 版本编写。
原创
发布博客 2022.09.17 ·
1357 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

WebRTC视频解码度量指标:帧间隔(InterframeDelay)计算原理

注:本文代码基于WebRTC 4472(对应Chromium 91),不保证适用于所有WebRTC版本。在Chrome的 webrtc-internals 里可以看到很多关于媒体流的度量指标。目前Chrome(我用的版本是94)保留了传统(legacy)和WebRTC标准(standard)两种体系的度量数据。其中legacy的数据已经不再更新,也许未来某个时间就会从Chrome中消失了。无论legacy还是standard,对我们日常分析客户端侧的音视频质量数据还是非常重要的。度量数据众多,本文只介绍
原创
发布博客 2021.10.15 ·
4395 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

在CEF中给 getDisplayMedia 增加区域捕获(Region Capture)功能

Chromium(以及CEF)以及Chrome并没有提供区域捕获功能(注:有一种消息表明Chrome M97可能会添加),但因为公司产品需要,所以就阅读了一下Chromium、WebRTC的源码,上个月花了几天时间,在Windows上为CEF添加了区域捕获功能,版本基于CEF 4472(Chromium 91)。用法也比较简单:const displayMediaOptions = { audio: true, video: true, regionShare: true};const
原创
发布博客 2021.10.13 ·
1235 阅读 ·
2 点赞 ·
9 评论 ·
2 收藏

You must install the “Debugging Tools for Windows“ feature from the Windows 10 SDK

最近机器总是频繁地蓝屏,重装了Windows 10系统。一开始一度以为是硬件故障了,后来相继安装了21H1 (updated Jul 2021) (x64) 到 1909 (Updated April 2020) (x64) 等多个Win10版本,都是不同概率地发生蓝屏。最后找来2017年下半年的一个Win10版本,安装上,一切太平了,稳得一批。看来我这2018年初买的笔记本(小米笔记本Pro),不配使用最新版本的Win10系统,哈哈。重装系统以后,直接用 ninja 编译 WebRTC 源码,就提示了这
原创
发布博客 2021.08.23 ·
517 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

cef_binary_91.1.24+gb245dd0+chromium-91.0.4472.124_windows32.tar.bz2

发布资源 2021.07.21 ·
bz2

You set the variable “no_check_targets“ here and it was unused before it went out of scope.

很久没有编译CEF新版本了,最近看到Chrome提到在91版本上,提到有23%的性能提升,原文链接:https://blog.chromium.org/2021/05/chrome-is-faster-in-m91.html,是不是真有这么大改进?所以想试试看。然后理所当然地使用以前自己的编译脚本进行编译,结果又遇到个“奇葩”问题,这里简单记录一下。在使用automate-git.py编译CEF 4472(Chromium 91)的时候,在脚本执行完CEF patch apply以后,突然报错:Gene
原创
发布博客 2021.07.17 ·
2297 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

WebRTC Android native SDK 支持 Simulcast 的代码改造

注:本文内容基于WebRTC M76分支,部分代码细节可能和后续WebRTC代码有差异。但笔者查看了4324(M88),基本上差异不大,同样适用,但再往后的版本就无法保证了。首先说一句,simulcast的支持,不仅仅是客户端修改就可以了,服务器端也需要修改。Licode、mediasoup都是支持simulcast的。这里只描述了客户端的修改,不涉及服务器端。如果你对simulcast所涉及的两种sdp格式不太熟悉,可以先看看这篇文章:Simulcast and Janus: what’s new?
原创
发布博客 2021.03.10 ·
1377 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

Chromium源码中 media::VideoFrame 的3个属性(coded_size, visible_rect, natual_size)的理解

前段时间处理过一例在Chrome中视频虚拟背景图显示范围不正确的问题,在阅读Chromium源码并结合一些试验后,这里简单记录一下media::VideoFrame这个类其中的与此次问题排查相关的三个属性的含义。media::VideoFrame的代码位于 media\base\video_frame.h(.cc),下面代码摘抄自其中(Chromium 85,branch 4183): // The full dimensions of the video frame data. const gf
原创
发布博客 2021.02.14 ·
635 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

我也来编译个Electron吧

最近心血来潮想编译一下和CEF同源的Electron源码。虽然已经有很多CEF的经验,但在编译Electron的时候还是遇到了一些小问题,这里简单记录一下。编译工具我是按照Electron提供的 Build Tools 来编译的。因为之前经常编译CEF,所以像 depot_tools、git 这些早就有。然后按照指导,额外安装了 yarn,并且更新了我机器上的 npm 和 node.js版本。编译过程在Electron Build Tools指导页面上,针对init / sync / build 做
原创
发布博客 2020.11.17 ·
3082 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏

WebRTC Opus编码器的创建与参数细节分析( sdp -> native )

这几天在做一些WebRTC音频改进方面的调查工作,在阅读Chromium源码的过程中,就顺便记录下来,便于日后回顾。本文基于Chromium 85源码分析,由于Chromium的快速发展,很有可能不适合于跨度太大的Chromium版本。大家知道Opus内置了两种编码器:CELT和SILK,并且可以针对采样率、采样间隔、码率、通道数……等属性进行设置。创建的参数设置,是从sdp来的。本文的主要目的,是来看看sdp中的信息,是如何对应到native世界里的代码的。Native调用序列:上图中,我保留的起
原创
发布博客 2020.10.29 ·
2571 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

Chromium,WebRTC本地视频前处理

喔~ 突然发现已经快一年没写过博客了。主要是这一年实在是太忙了,一直没有时间好好整理和规划一些内容。今天打算把自己前段时间在我们公司产品中做的一个小功能的原理拿出来简单讲讲。(注:本文基于Chromium 4183(Chromium 85)源码)背景我们公司的桌面客户端产品是基于Chromium内核的CEF框架(理论上同源的Electron也是适用的),前一段时间和国内某知名计算机视觉和深度学习原创技术公司进行合作,将他们公司的技术应用到我们的桌面客户端产品中来。大家知道,Chromium及其内置的We
原创
发布博客 2020.10.26 ·
1395 阅读 ·
1 点赞 ·
3 评论 ·
4 收藏

cef_binary_85.0.0-4183_g44bd7ac+chromium-85.0.4183.102_windows32

发布资源 2020.09.26 ·
bz2

cef_binary_84.0.0-4147+g3c12b9d+chromium-84.0.4147.105_macosx64.tar.bz2

发布资源 2020.09.02 ·
bz2

cef_binary_78.3.9+gc7345f2+chromium-78.0.3904.108_windows64.tar.bz2

发布资源 2020.03.25 ·
bz2

cef_binary_78.3.9+gc7345f2+chromium-78.0.3904.108_windows32支持H.264编解码+H.265解码

发布资源 2019.12.18 ·
bz2

从WebRTC SDP实现源码中寻找video codec的来源

这篇文章从WebRTC构造sdp字符串作为入口,一步步地寻找产生video codec的源头
原创
发布博客 2019.12.11 ·
2139 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏
加载更多