自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 webrtc VAD 算法

webrtc VAD 算法简介一,K-means 聚类二,EM估计三,GMM 高斯混合模型四,webrtc 中的 VAD 实现五,参考资料:

2019-01-18 14:11:00 4006

转载 一步一步教你反向传播的例子

背景反向传播(Backpropagation)是训练神经网络最通用的方法之一,网上有许多文章尝试解释反向传播是如何工作的,但是很少有包括真实数字的例子,这篇博文尝试通过离散的数据解释它是怎样工作的。概述对于这个教程,我们将使用2个输入神经元、2个隐含层神经元以及2个输出层神经元组成一个神经网络,另外,隐含层和输出层神经元各包含一个偏差。这是基本结构:目的让神经网络工作,我们对权重、偏差和训练的输入/输出设置一个初始值:反向传播的目的是优化权重,以便于让神经网络学习怎样正确的把任意的输入映

2021-05-17 18:44:57 651

原创 深度学习损失函数

均方误差(mean squared error)E=12∑k(yk−tk)2E=\frac{1}{2} \sum_{k}\left(y_{k}-t_{k}\right)^{2}E=21​k∑​(yk​−tk​)2def mean_squared_error(y, t): return 0.5 * np.sum((y-t)**2)交叉熵误差(cross entropy error)E=−∑ktklog⁡ykE=-\sum_{k} t_{k} \log y_{k}E=−k∑​tk​l

2021-03-08 14:52:48 163

原创 x264 iOS build script

build x264 ios#!/bin/sh# directoriesSOURCE="../vhall_x264"FAT="x264-iOS"SCRATCH="scratch-x264"# must be an absolute pathTHIN=`pwd`/"thin-x264"# the one included in x264 does not work; speci...

2020-07-20 11:14:26 268

原创 x264 Android build script

build arm#!/bin/bashNDK=/Users/ilong/Documents/android-ndk-r11cPREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/*-x86_64PLATFORM=$NDK/platforms/android-9/arch-arm/PREFIX=`pwd`/android...

2020-07-20 11:14:16 151

原创 ffmpeg build iOS script

build ffmpeg .a#!/bin/sh# directoriesFF_VERSION="4.0.3"if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSIONfiSOURCE="ffmpeg-$FF_VERSION"FAT="FFmpeg-iOS"SCRATCH="scratch"# must ...

2020-07-20 11:14:04 205

原创 ffmpeg build Anddriod script

build ffmpeg arm#!/bin/bashexport NDK=/Users/ilong/Documents/android-ndk-r6bexport PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/*-x86export PLATFORM=$NDK/platforms/android-9/arch...

2020-07-20 11:13:41 123

翻译 WebRTC padding 包的作用和优化

The bitrate during a videoconference can be very dynamic, for example being very low if the camera is pointing to a wall and increasing inmediatelly if a person starts moving. This behaviour can be a problem with networks that take some time to adapt c.

2020-06-08 16:58:35 1433

原创 webrtc ios平台 client 源码拉取和编译

webrtc M66 ios client 源码拉取和编译环境Mac 10.13.1Xcode 9.1Python 2.7.10设置 git 代理#设置git代理$ git config --global http.proxy http://127.0.0.1:xxxx$ git config...

2020-05-12 09:33:42 3835 1

原创 一个非常好用的LaTex代码生成工具

一个非常好用的LaTex代码生成工具先上链接 https://mathpix.com,支持全平台,可以手写公式,然后拍照后转换

2020-04-24 15:05:46 7142

原创 CLion服务器开发使用教程

CLion服务器开发使用教程工欲善其事必先利其器本文主要介绍使用CLion进行C++服务端开发的配置,CLion 是一款专为开发 C 及 C++ 所设计的跨平台 IDE。 它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力,从而提升工作效率 。环境系统 :macOS Mojave 10.14.6CLion版本:2019.3服务器系统:Ubuntu 1...

2020-04-24 14:37:54 1982

原创 webrtc M66 RtpRtcp模块和Pacer模块的关系

2020-04-20 10:27:17 251

原创 webrtc M75 NetEQ流程图

2020-04-20 10:24:20 236

转载 浅析State-Thread

转载:https://zhuanlan.zhihu.com/p/48219407浅析State-ThreadState-Thread(以下简称st),是一个由C语言编写的小巧、简洁却高效的开源协程库。这个库基于单线程运作、不强制占用用户线程,给予了开发者最大程度的轻量级和较低的侵入性。什么是协程?协程是一种程序组件。通常我们把协程理解为是一种程序自己实现调度、用于提高运行效率、降低开发复杂...

2020-04-17 15:24:41 324

原创 Scalable Video Coding (SVC) Extension for WebRTC

关于webrtc 支持的SVC模式SVC模式汇总,如下:Scalability ModeSpatial LayersResolution RatioTemporal LayersInter-layer dependencyL1T212L1T313L2T122:11YesL2T222:12YesL2T322:1...

2020-03-24 18:54:28 742

转载 webrtc NTP网络时间同步

原文链接:https://blog.csdn.net/zhangkai19890929/article/details/85239220假设我们有2个设备A和B,A的时间是10::00:00am ,B的时间是11::00::00,现在我们要把A和B的时间统一.首先我们以B的时间为统一的时间源,这样时间才好统一.实际上我们要统一时间,我们需要计算的是,A和B之间的时间差(一个小时).我们把问...

2020-03-20 12:33:51 1011

转载 Github中那些迷之缩写?LGTM?

Github中那些迷之缩写?LGTM?PR: Pull Request. 拉取请求,给其他项目提交代码LGTM: Looks Good To Me. 朕知道了 代码已经过 review,可以合并SGTM: Sounds Good To Me. 和上面那句意思差不多,也是已经通过了 review 的意思WIP: Work In Progress. 传说中提 PR 的最佳实践是,如果你有个改...

2020-01-16 15:00:42 14246

转载 学习方法

《礼记·学记》原文: 虽有嘉肴,弗食,不知其旨也;虽有至道,弗学,不知其善也。是故学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。故曰:教学相长也。– 费曼学习法参考资料:https://blog.csdn.net/wo541075754/article/details/101554326...

2019-12-09 11:41:42 123

原创 c++ 11 简约版内存池实现

c++ 11 简约版内存池实现使用c++11的智能指针实现一个简约版的内存池.h文件//// Created by ilong on 2019/10/18.//#ifndef SRC_MEMORY_POOL_H#define SRC_MEMORY_POOL_H#include <list>#include <map>#include <mute...

2019-10-21 11:01:50 649

原创 libglib-2.0.so: error adding symbols: DSO missing from command line

libglib-2.0.so: error adding symbols: DSO missing from command line eror开发环境:ubuntu版本:14.04gcc版本:5.4.5问题描述在编译licode的example时,遇到如上错误,具体是libnice库依赖了libglib-2.0,erizo又依赖了libnice,可执行文件又依赖了erizo.so,编译...

2019-09-10 13:47:22 2357

转载 WebRtc GCC、Sendside-BWE 区别

一、概念说明由于webrtc里面包含GCC、Sendside-BWE两种拥塞控制算法。M55之前用的是GCC,M55之后用的是Sendside-BWE。里面有很多概念梳理如下,以免混淆,不方便理解代码。GCCSendside-BWE码控计算模块接收端发送端RTP头部扩展AbsSendTimeTransportSequenceNumber接收端关键对象...

2019-08-16 17:00:03 1782

原创 mac python 环境配置

开发环境系统:Mac OSX 10.14.4python 安装工具 :Anaconda安装Anaconda下载Anaconda,从官网下载地址,建议下载可视化安装工具,64-Bit Graphical Installer (624 MB)版,安装比较简单搭建python环境#创建环境 conda create --name py27 python=2.7#激活环境sou...

2019-04-26 17:22:22 185

原创 webrtc M66 android 端实现屏幕共享功能

webrtc M66 android 实现屏幕共享功能一,我们先看一下摄像头采集的逻辑;摄像头的初始化// Gets the device name of the front cameraCamera1Enumerator enumerator = new Camera1Enumerator(false);String []names = enumerator.getDeviceNa...

2019-04-01 13:07:52 3455 21

原创 webrtc M66 华为手机h264硬编解码不支持问题

webrtc M66 华为手机h264硬编解码不支持问题最近使用webrtc的h264编码时,测试发现华为都不支持,而其他手机可以,通过阅读webrtc的代码发现如下问题webrtc 会先检测手机支持不支持h264编码,如果找不到,就认为此手机不支持h264编码,但是我们都知道华为手机是支持h264编码的,那为什么知道不到呢?通过调试发现webrtc h264的supportedHwCod...

2019-03-21 15:04:07 16816 9

原创 webrtc 常用编译参数列表

additional_target_cpus Current value (from the default) = [] From //build/config/ios/ios_sdk.gni:58 If non-empty, this list must contain valid cpu architecture, and the final build ...

2018-12-18 12:40:38 5564

原创 webrtc 打开Simulcast功能

webrtc 开启Simulcast功能webrtc自带了Simulcast功能,可以将一个分辨率的流编码成多个分辨率并发送,观看端可以根据带宽去动态的选择某个分辨率,也可以自己选择某个分辨率,据说在webrtc M70版本提供了对外的接口开启Simulcast,并 vp8,vp9,h264三种编码器都支持Simulcast功能,但是在M70版本以下并不支持h264编码器的Simulcast功能...

2018-11-01 10:53:51 7346 1

原创 WebRTC 走读框架理解

理解可能存在误解,欢迎指出

2018-09-14 17:43:00 461

原创 webrtc android平台编译

环境Mac 10.13.1 虚拟机 Ubuntu 16.04 Python 2.7.10webrtc 版本 M66安装 vim$ sudo apt-get install vim更换阿里软件源进入root模式$ su root备份sources.list$ cp /etc/apt/sources.list /etc/apt/sources....

2018-08-23 17:00:02 1148 1

原创 mac下 CLion gtest 单元测试环境搭建

mac下 CLion gtest 单元测试环境搭建1,下载gtest源码,将下载解压后的文件放到CLion工程目录中,如下所示: 2,修改CMakeList.txt文件,内容如下:cmake_minimum_required(VERSION 3.9)project(unit_test)set(CMAKE_CXX_STANDARD 14)include_director...

2018-07-09 17:31:38 1933

原创 ios 使用动态库解决ffmpeg库冲突

ios 使用动态库解决ffmpeg库冲突xcode 从6.0开始就支持动态库的创建和使用,但是苹果不允许使用动态库来作热插件。由于本人是做直播sdk的,在ios端使用ffmpeg做编解码,客户有时会集成多家sdk,而且可能都会用到ffmpeg静态库,由于用的ffmpeg版本不一致,configure也都不一样,导致ffmpeg冲突,最终通过动态库一劳永逸的解决了这个问题,下面就以ffmpe...

2018-07-06 16:44:19 3244 1

原创 webrtc 源码中如何新添加一个类

webrtc 源码中如何新添加一个类webrtc 源码使用gn做构建脚本,使用.ninja作为编译脚本,gn就类似于cmakelist.txt,而.ninja就类似于makefile,webrtc中的BUILD.gn就是构建脚本gn文件,构建的时候会通过BUILD.gn文件生成工程文件(例如vs工程文件)和.ninja文件。 下面举个例子: 本人在实现windows版的文件插播和桌面共享是...

2018-06-07 21:44:29 759

转载 两张张图让你明白时域, 频域和傅里叶变换

两张张图让你明白时域, 频域和傅里叶变换

2018-06-01 11:55:28 40658 7

原创 windows webrtc 如何实现桌面共享

webrtc 如何实现桌面共享平台:windows 开发工具:vs2017一,webrtc桌面采集介绍webrtc 的modules文件夹中有个desktop_capture模块,是用来实现桌面采集的,其中包含:1,windows_capture:用来实现窗口采集; 2,screen_capture:用来实现桌面采集; 两种采集方式webrtc都已经实现,可以直接使...

2018-05-22 18:09:25 10353 5

原创 win10 vs2017 编译webrtc x64 版本报错

环境系统:win10 IDE:vs2017 webrtc版本:M66报错信息如下: LINK : fatal error LNK1104: 无法打开文件“advapi32.lib”原因:win10 sdk 的版本不对,以webrtc M66版本为例,需要使用win10 SDK10.0.15063版本。解决方案:下载win10 SDK10.0.15063版本重...

2018-05-22 16:02:55 821

原创 mac 上 android boost 库的编译及使用

mac android boost 编译及使用系统:mac osx v10.13.4 (17E199) ndk:android-ndk-r16b boost版本:v1.66.0一,编译使用编译脚进行编译,地址如下:https://github.com/moritz-wundke/Boost-for-Android.git$ git clone https://github....

2018-05-08 17:16:09 1246 1

原创 WebRTC M64 源码目录结构分析

WebRTC M64 源码目录结构分析目录结构分析apiWebRTC 接口层。包括 DataChannel, MediaStream, SDP相关的接口。各浏览器都是通过该接口层调用的 WebRTCaudio存放音频网络逻辑层相关的代码。音频数据逻辑上的发送,接收等代码。 build_overrides这个目录用于允许我们自定义不同的编译变量,这些变量之间的差异是独立的...

2018-05-02 14:32:32 434

原创 webrtc proxy 分析

webrtc proxy 分析在webrtc中,许多重要的对象实际上都是“代理对象”,如PeerConnection, PeerConnectionFactory,等等,可以看下PeerConnectionFactory的源代码:rtc::scoped_refptr&lt;PeerConnectionFactoryInterface&gt;CreatePeerConnectionFa...

2018-05-02 14:22:24 1031

转载 Socket connect() 设置超时时间

Socket connect() 设置超时时间1,linux或者win32控制台程序中connect函数默认是阻塞的,成功则返回0,失败返回-1,错误码可以用函数GetLastError获得。如果连接一个打开的服务器一般回立即返回并且成功连接socket连接,如果连接一个存在但是没有开启的服务器会阻塞一段时间(不会太长)然后返回-1. 还有一种就是连接一个网内不存在的服务器,比如192.168...

2018-05-02 14:16:58 11163

转载 linux Socket close()函数 的3种返回方式

Socket close()函数 的3种返回方式socket close()返回的方式通过 setsockopt :SO_LINGER 选项设置此选项指定函数close对面向连接的协议如何操作(如TCP),内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。//SO_LINGER选项用来改变此缺省设置。使用如下结构:struct ...

2018-05-02 14:10:57 7141

原创 webrtc thread introduce

webrtc thread introduce1,webrtc thread常用到的类有MessageHandler,Thread。 2,MessageHandler用来作为线程处理函数的回调,实现如下:class MessageHandler { public: virtual void OnMessage(Message* msg) = 0; protected: ...

2018-04-09 10:45:07 354

空空如也

空空如也

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

TA关注的人

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