5 BIGBurning

尚未进行身份认证

专注于多媒体视频会议,移动互联网,流媒体技术的开发。PJSIP,WebRtc等。

等级
TA的排名 1w+

WebRtc最新编译,最新版本2017

系统环境:win10vs版本:vs2015一:在客户端使用ShadowSocks作为代理!我直接购买的ShadowSocks的服务器版本!10元人民币一个月左右。可以慢慢下!足够用了!如果实在不想买,也可以自己搭建服务器,比较麻烦,容易出错。网上有教程!二:depot_tools配置下载地址:https://github.com/ipop-project/ipop-project.github.i

2017-01-02 18:38:16

webrtc初级教程-仝利-专题视频课程

从基础的怎么从网上下载webrtc教程开始,由浅入深讲解webrtc的整个框架。拿webrtc的经典例子peerconnection_client来讲解。从代码细节深入进去

2016-02-25 15:20:08

ffmpeg+ffserver多媒体服务器开发入门

公司需要为Html5客户端配置多媒体服务器。主要是作为媒体server,,音频是实时来自聊天室,中间需要经过一次转码,Opus->mp3,实时转码。研究了两周,将其中一些心得记录分享下。1.循环播放mp3文件。ffserver提供对外的服务请求的处理,ffmpeg作为转码的工具,即将文件或者流中的数据流转发或者转码到ffserver的磁盘文件/tmp/feed1.ffm中。ffm是ffmpeg中保

2015-11-13 20:17:06

WebRtc研究二(WebRtcDemo的使用)

WebRtcDemo的运行效果:1:如果要拨打另一台终端的话再SETTING里面配置好对方的IP地址。然后回到MAIN点击StartCall2:对面也要设置我的IP,然后也要去MAIN里面点击StartCall这个应该是通过点对点进行连接的。同时支持音频和视频。支持本地显示。该工程的源码的位置是:webrtc/src/webrtc/examples/android/media_demo

2015-10-15 15:56:40

webrtc研究一(源码下载和编译)

写在最前面一:写博客的目的1.自己研究的辛苦自己清楚。2.网上的各种资料鱼龙混杂,很多都过时了。3.基于最新的webrtc源码分享自己工作中的一些心得体会。4.如果写的好大家就鼓掌,写的不好勿喷。有钱的捧个钱场,没钱的...二:编译编译还是编译1.自己最好还是准备个vpn,不要想着有谁把代码拷贝下来上传到国内的服务器上。2.下载depot_tools,并且加入到PATH中: gitcloneh

2015-10-15 14:08:53

FEC原理及其实现

视频会议中通常使用的FEC/QOS技术,这方面的资料比较复杂和稀少,根据这么多年的工作经验,做一下分享。一:差错控制技术 1. ARQ :是一种按需重传的机制,发送者通过接受者的反馈得知有报文在传输过程中有丢失,就重传该报文。 缺点:通信信道的利用率不高,也就是说信道还远远没有被数据流占满,需要接收方发送ACK,这样影响传输效率。可以想象,这种方式发送方肯定需要一个buffer来存储获取到的数

2015-10-13 13:55:49

JAVA工具-实现java的String类转换为C中的char*数组

JNI开发中,java与c代码交互的时候通常有String和char*的转换,但是请注意,这两者不是一类。找了个工具方法,作为备忘。char*Jstring2CStr(JNIEnv*env,jstringjstr){char*rtn=NULL;jclassclsstring=(*env)->FindClass

2015-03-20 14:19:20

安卓横竖屏切换问题总结

如果不想让软件在横竖屏之间切换:可以通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来实现。比如下列设置android:screenOrientation="portrait"则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。android:screenOrientation="landscape",为横

2015-03-19 13:00:27

安卓服务(Service)的两种开启方式以及服务的生命周期

安卓中服务的开启方式一:采用start的方式开启服务调用函数:startService(Intent)->onCreate()->onStart()/onStartCommand()->onDestroy()特点:服务被开启后不会重复开启,只会调用onStart(),服务只会被停止一次。二:采用bind的方式开发服务调用函数:bindService(Intent…)->onCreate(

2015-03-19 11:58:12

安卓电话窃听器小程序(仅用于学习)

写这个小程序首先需要了解安卓系统的后台服务怎么实现。Service是安卓的四大组件之一。其次需要了解安卓的进程管理,一个安卓程序关闭后,程序虽然不可见,但是程序的进程往往没有被杀掉,目的是下次启动的时候方便,但是内存资源有限,不可能无限制的保留线程在内存中的状态,所以安卓采用任务栈的方式来管理进程。当内存资源不足时,通过将任务栈中优先级比较低的进程杀掉来释放资源。安卓有5个进程优先级:

2015-03-19 09:47:33

安卓短信过滤器小程序

对于安卓的短信广播接受者支持,谷歌应该在安卓4.2以后就开始弱化了,也就是配置起来较麻烦唯一,但是到了5.0的时候就应该完全不支持了。因为谷歌认为这种技术对用户个人隐私造成很大影响,事实上也正是如此,黑客可以很容易的获取到用户的短信。下面写一个短信过滤的小demo。/**创建一个短信接收器,继承广播接受者*/publicclassSmsReceiverextendsBroadcas

2015-03-18 15:33:54

安卓系统下的多线程断点下载实现2利用开源框架XUtils

使用开源框架可以大大降低开发的难度,减少开发的周期,并且bug也少的多,软件运行起来更稳定。xUtils简介xUtils包含了很多实用的android工具。xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响…xUitls最低兼容android2.2(apilevel8)下载地址:https://gith

2015-03-17 13:02:35

安卓系统下的多线程断点下载实现

最近研究多线程下载,写了个demo,整理下来,也许会对别人有帮助。多线程下载的话一般开启两到三个线程吧。如果线程太多的话时间会浪费在线程的切换上,倒是浪费了大把的时间。线程多了也不是一件好事。原理的话看我的另一篇博文,事实上是将代码移植到了安卓系统上。java实现的多线程下载demopublicclassMainActivityextendsActivity{protec

2015-03-17 12:12:30

Java之多线程断点下载的实现

RandomAccessFile类:此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型byte数组。存在指向该隐含数组,光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当

2015-03-16 17:22:39

Live555-基类研究二

TaskSecheduler类是一个任务调度器,它是整个Live555的任务调度中心,程序在任何时刻的任何动作,均由该类完成。其核心函数是SingleStep。Live555的任务主要分为DelayedEvent、SocketEvent以及TriggerEvent。其类层次结构如下图所示: 从类图中可以看到,其类层次结构和第二节中的UsageEnvironment类极其相

2015-02-09 17:12:01

WinSocket的select函数的用法(windows套接字比较研究)

总体上来说select函数的作用:确定一个或多个套接口的状态,本函数用于确定一个或多个套接口的状态,对每一个套接口,调用者可查询它的可读性、可写性及错误状态信息,用fd_set结构来表示一组等待检查的套接口,在调用返回时,这个结构存有满足一定条件的套接口组的子集,并且select()返回满足条件的套接口的数目。简单来说select用来填充一组可用的socket句柄,当满足下列之

2015-02-07 17:08:44

H264包解析

在H.264/AVC标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。VCL负责表示视频数据的内容,NAL则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。在VCL数据传输或存储之前,这些编码的VCL数据,先被映射或封装进NAL单元中。NAL单元是NAL的基本语法结构,它包含一个字节的头信息和一系列来自VCL的称为原始字节序列载

2015-02-06 13:21:03

FFMPEG实现H264的解码(从源代码角度)

农历2014年底了,将前段时间工作中研究的FFMPEG解码H264流程在此做一下整理,也算作年终技术总结了!H264解码原理:H264分为NAL(网络抽象层)和VCL(视频编码层)解码器的总框架:解码器的流程为:将NAL数据位流输入到H264的解码器中,熵解码模块解码后输出量化系数X;系数经过反量化和反变换得到残差数据R;解码器使用从码流中解码的头信息生成预测块Pr

2015-02-06 10:16:26

MpegTS流解复用程序实现(解复用得到PES和ES)

MpegTS基础看这几篇博文:MpegTS基础MpegTS之TS,PES,ES结构分析TS流复用和解复用是一个相逆的过程。TS解复用得到的是音视频的PES裸流。一般来讲,每个TS包的长度是188个字节,也有一种204个字节的,就是在每个包后面加上16个字节的RS冗余校验信息。在这里分析188个字节的情况,其余的都类似了。从文件中循环读取188个字节的包,然后对包进行

2015-02-05 15:07:01

FFMPEG实现的转码程序

本例子是由FFEMPG的doc/example例子transcode.c修改而来,可以根据需求任意转换音视频的编码。原来的例子的作用更类似于remux,并没有实现转码的功能,只是实现了格式转换,比如ts转avi等。并不能实现音视频编码格式的转换,比如将h264转为mpeg2。FFMPEG转码的实现有多种方式:一种方式是:流解复用->视频+音频流->解码->YUV/PCM

2015-02-04 17:06:34

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!