关闭

WebRtc最新编译,最新版本2017

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

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

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

WebRtc研究二(WebRtcDemo的使用)

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

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

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

FEC原理及其实现

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

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

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

安卓横竖屏切换问题总结

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

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

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

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

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

安卓短信过滤器小程序

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

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

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

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

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

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

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

Live555-基类研究二

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

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

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

H264包解析

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

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

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

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

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

FFMPEG实现的转码程序

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

FFMPEG用法整理

1.修改分辨率率 将输入为640*480的修改为320*249 ffmpeg -i input -vf scale=iw/2:-2 output iw:输入帧宽,此处为640,640/2=320。 -1告诉scale filter保持纵横比,所以scale filter计算出值240. 2.改变音视频播放速度 1>视频2倍播放速度,音频两倍播放速度。 ffmpeg -i in...
阅读(17849) 评论(3)
63条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:418258次
    • 积分:3745
    • 等级:
    • 排名:第9482名
    • 原创:60篇
    • 转载:3篇
    • 译文:0篇
    • 评论:47条
    博客专栏
    关于我
    专注于流媒体技术的研究与开发。PSIP,WebRtc,FEC,QOS等
    技术合作工作邮箱: 447244985@qq.com
    QQ: 447244985
    微信:tonglihappy
    如果有北京的,有创业想法的可以联系我