11 2019 档案
摘要:WebRTC 全称为:Web Real-Time Communication。它是为了解决 Web 端无法捕获音视频的能力,并且提供了 peer-to-peer(就是浏览器间)的视频交互。实际上,细分看来,它包含三个部分: MediaStream:捕获音视频流RTCPeerConnection:传输
阅读全文
摘要:WebRTC提供了点对点之间的通信,但并不意味着WebRTC不需要服务器。暂且不说基于服务器的一些扩展业务,WebRTC至少有两件事必须要用到服务器: 1. 浏览器之间交换建立通信的元数据(信令)必须通过服务器 2. 为了穿越NAT和防火墙 此处,我们使用XMPP协议实现信令,采用openfire当
阅读全文
摘要:参考自:Introduction to WebRTC on AndroidAndroid之WebRTC介绍 WebRTC被誉为是web长期开源开发的一个新启元,是近年来web开发的最重要创新。WebRTC允许Web开发者在其web应用中添加视频聊天或者点对点数据传输,不需要复杂的代码或者昂贵的配置。
阅读全文
摘要:本文翻译自WebRTC data channels 在两个浏览器中,为聊天、游戏、或是文件传输等需求发送信息是十分复杂的。通常情况下,我们需要建立一台服务器来转发数据,当然规模比较大的情况下,会扩展成多个数据中心。这种情况下很容易出现很高的延迟,同时难以保证数据的私密性。 这些问题可以通过WebRT
阅读全文
摘要:这篇文章讲述了WebRTC中所涉及的信令交换以及聊天室中的信令交换,主要内容来自WebRTC in the real world: STUN, TURN and signaling,我在这里提取出的一些信息,并添加了自己在开发时的一些想法。 WebRTC的服务器 WebRTC提供了浏览器到浏览器(点
阅读全文
摘要:众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转。比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器、乙和服务器之间建立信道。甲给乙发送消息时,甲先将消息发送到服务器上,服务器对甲的消息进行中转,发送到乙处,反过来也是一样。这样甲与乙之间的一次消息要通过两
阅读全文
摘要:这次的需求,准备做的是一个类似与QQ视频一样的点对点视频聊天。这几天了解了一些知识后,决定使用HTML5新支持的WebRtc来作为视频通讯。客户端使用支持HTML5浏览器即可。服务器段需要提供两个主要的服务功能,一个是信令服务器(Signaling Server),一个是NAT穿透服务器(ICE S
阅读全文
摘要:实际应用环境:iOS,Androidx264_param_t中有下面两个参数值得注意下int i_threads; /* encode multiple frames in parallel */int b_annexb; /* if set, place start codes (4 bytes)
阅读全文
摘要:大家都知道,如今,视频直播比较火啊。 今天,在FreeSWITCH精英群里分享了FreeSWITCH做视频直播相关的技术。 首先,要做直播就得有好机器。笔者买了一台阿里云的主机,买的是按量付费的,4核4G内存,装Debian 8.0.4(话说阿里云终于有了Debian 8的镜象了)。 FreeSWI
阅读全文
摘要:视频编解码对许多Android程序员来说都是Android中比较难的一个知识点。在Android 4.1以前,Android并没有提供硬编硬解的API,所以之前基本上都是采用FFMpeg来做视频软件编解码的,现在FFMpeg在Android的编解码上依旧广泛应用。本篇博客主要讲到的是利用Androi
阅读全文
摘要:1 av_seek_frame对视频进行跳转规律 1.1 flags参数 #define AVSEEK_FLAG_BACKWARD 1 ///< seek backward,若你设置seek时间为1秒,但是只有0秒和2秒上才有I帧,则时间从0秒开始。 #define AVSEEK_FLAG_BYTE
阅读全文
摘要:首先来介绍下h265(HEVC)nal单元头,与h264的nal层相比,h265的nal unit header有两个字节构成,如下图所示: 从图中可以看出hHEVC的nal包结构与h264有明显的不同,hevc加入了nal所在的时间层的ID,取去除了nal_ref_idc,此信息合并到了nalty
阅读全文