WebRTC 介绍 发表于 2017-11-22 | 分类于 webrtc | 阅读次数 webRTC的整体框架 三个服务器 webRTC的呼叫流程 上述序列中,标注的场景是ClientA向ClientB发起对聊请求,调用描述如下: ·ClientA首先创建PeerConnection对象,然后打开本地音视频设备,将音视频数据封装成MediaStream添加到PeerConnecti ... 阅读全文 »
FFmpeg音视频同步 发表于 2017-10-19 | 分类于 音视频 | 阅读次数 关于音视频同步,无非就是音频同步视频,或者视频同步音频。 我们这里采用视频同步音频,因为人对画面不敏感,对音频敏感。 如果视频滞后,那么睡眠时间就少点,比如sleep(8ms) 如果视频超前,那么睡眠时间就多点,比如sleep(24ms) 1s内音频采出的字节数: 44100*2*2(采样率*采 ... 阅读全文 »
FFmpeg将视频文件输出到手机屏幕 发表于 2017-10-17 | 分类于 音视频 | 阅读次数 #include <jni.h> #include <string> #include <android/log.h> extern "C" { //编码 #include "libavcodec/avcodec.h" ... 阅读全文 »
王阳明与阳明心学 发表于 2017-10-13 | 分类于 公开课学习 | 阅读次数 最近在看网易公开课关于讲王阳明心学这一块,关于王阳明其实高中就有提到过他的心学。其实印象最深的还是《明朝那些事》里面对王阳明的介绍,感觉他貌似是无所不能的人物,军事,文学,政务都有不少成就。正好就公开课了解一下王阳明及其心学。 导论王阳明人生大致分为三个阶段 三十四岁之前:任侠,骑射,佛教,道教 ... 阅读全文 »
FFmpeg音视频前传 发表于 2017-10-10 | 分类于 音视频 | 阅读次数 1. 为什么要进行视频压缩? 未经压缩的数字视频的数据量巨大 存储困难 一G只能存储几秒钟的未压缩数字视频。 传输困难 1兆的带宽传输一秒的数字电视视频需要大约4分钟。 2. 为什么可以压缩 去除冗余信息 空间冗余:图像相邻像素之间有较强的相关性 时间冗余:视频序列的相邻图像之间内容相 ... 阅读全文 »
FFmpeg 视频解码原理-MP4转YUV420P 发表于 2017-10-10 | 分类于 音视频 | 阅读次数 本文主要是采用ffmpeg对mp4文件进行视频解码 #include <jni.h> #include <string> #include <android/log.h> extern "C" { //编码 #include " ... 阅读全文 »
cmake 简介 发表于 2017-10-08 | 分类于 cmake简介 | 阅读次数 cmake简介 以下是CMakeLists.txt的内容 cmake_minimum_required(VERSION 2.6) #myapp:main.o 定义工程名称为myapp PROJECT(myapp) #导入头文件 INCLUDE_DIRECTORIES( include ) ... 阅读全文 »
kotlin-06-对象表达式/对象声明/委托 发表于 2017-09-01 | 分类于 kotlin语言文档 | 阅读次数 参考kotlin中文网站: kotlin中文网站 1.对象表达式和对象声明 1.1对象表达式要创建一个继承自某个(或某些)类型的匿名类的对象,我们会这么写: window.addMouseListener(object : MouseAdapter() { override fun mo ... 阅读全文 »
kotlin-05-类和对象(泛型、嵌套类、枚举类) 发表于 2017-08-26 | 分类于 kotlin语言文档 | 阅读次数 泛型 与 Java 类似,Kotlin 中的类也可以有类型参数: class Box<T>(t: T) { var value = t } 一般来说,要创建这样类的实例,我们需要提供类型参数: val box: Box<Int> = Box<Int> ... 阅读全文 »
kotlin-04-类和对象(扩展、数据类、密封类) 发表于 2017-08-22 | 分类于 kotlin语言文档 | 阅读次数 1.扩展 Kotlin 同 C# 和 Gosu 类似,能够扩展一个类的新功能而无需继承该类或使用像装饰者这样的任何类型的设计模式。这通过叫做扩展的特殊声明完成。 Kotlin 支持扩展函数 和 扩展属性。 1.1扩展函数声明一个扩展函数,我们需要用一个 接收者类型 也就是被扩展的类型来作为他的前缀 ... 阅读全文 »