![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
流媒体技术
文章平均质量分 88
黒木涯
拥有10年的大型软件开发经验,参与多个公安、消防、政府等方面大型业务系统的开发,精通J2EE(springmvc、spring、hibernate)、C#(spring.net、nhibernate)、asp.net等开发语言,MySQL、Oracle主流数据库应用、io操作、多线程编程、分布式应用、数据缓存、即时消息队列、全文搜索等机制,在服务器方面精通研发究Nginx、Apache Tomcat等服务软件在Linux系统下,负载均衡,集群式布署优化等技术,并且熟悉大数据技术框架hadoop、spark等应用。
展开
-
WebRTC实践总结
WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术。并且还支持跨平台:windows,linux,mac,android,iOS。P2P模式一般我们传统的连接方式,都是以服务器为中介的模式:类似http协议:客户端<——>服务端(当然这里服务端返回的箭头仅仅代表返回请求数据)。进行即时通讯时,进行文字、图片、录音等传输的时候:客户端A——服务器——客户端B。而点对点的连接恰恰原创 2020-09-03 20:16:28 · 469 阅读 · 0 评论 -
WebRTC实践视频聊天室
技术前言通过前几次教程已经可以轻松的实现两个浏览器之间的文本信令交互和视频对讲功能。本次课程要融合以前所有技术点,做一次综合性实例,采用nodejs实现一个完整的聊天室功能。其界面样式仿照微信的界面搭建。接口方法在此我根据实例代码用到的接口做如下讲解,为了方便本实例我们采用nodejs开发,其中用到了socket.io技术。如果对socket.io(https://socket.io/)不明白的话可以先学习一下socket.io再回来看本教程。1. io.sockets.on(‘connection原创 2020-09-03 20:15:34 · 1129 阅读 · 0 评论 -
WebRTC实践点对点通信
技术前言 前次教程我们一起用NodeJs做为服务端,用纯javascript简单实现了一个基于文本的P2P通讯,两个浏览器终端之间基于Socket.IO技术进行普通文本信息互相传输,其实已实现了一个简单聊天室的基本技术模型。本次教程我们基于上次教程的内容继续探讨WebRTC视频通讯,实现不同浏览器之间进行视频通讯。大家注意本系列教程是采用循序渐进的方式,每次教程的内容都是下次教程的铺垫。WebRTC视频通讯主要是用RTCPe原创 2020-09-03 20:14:48 · 1576 阅读 · 1 评论 -
WebRTC实践信令服务
技术前言在前面的教程中, 我们测试程序是发送方和接收方都是同一个页中的 RTCPeerConnection 对象, 所以传递信令只需要在对象间直接拷贝就行, 显得特别简单。但在现实世界中, 发送方和接收方一般是不同的设备, 所以需要具有元数据交换的通道。在实际应用过程中各终端之间要创建并保持WebRTC通话, 需要互相交换元数据信息, 这个过程被称为信令传输(signaling)。具体内容包括:• Offer视频邀请函描述信息• Answer视频邀请响应信息• Candidate视频终端ICE候原创 2020-08-20 18:05:13 · 1166 阅读 · 0 评论 -
WebRTC实践传输视频流
技术前言通过前面的课程我们不仅知道了WebRTC的技术背景和使用场景,还尝试了通过getUserMedia方法操作本地摄像头,获取可见音视频数据流,采用Html5中video标签在页面中渲染出来,本次课程我们要使用RTCPeerConnection API传输视频。接口方法RTCPeerConnection可以理解为本地计算机到远程计算机的连接通道,通过此接口计算机之间可以实现任何数据传输包括结构化数据和非结构化数据等,RTCPeerConnection接口提供全套的创建、保持、监控、关闭连接的方法原创 2020-08-20 15:10:39 · 5158 阅读 · 3 评论 -
WebRTC实践获取视频流
技术前言通过上次课程“WebRTC简介”我们知道了WebRtc技术主要是为了实现网页之间的实时通讯,本次课程我们将用一个简单实例展开讲解WebRTC调取本地摄像头的具体方法及原理。接口方法语法navigator.getUserMedia(constraints,successCallback, errorCallback );参数1. constraintsMediaStreamConstaints对象指定了请求使用媒体的类型,还有每个类型的所需要的参数。例如下面只获取视频而不获取音频:va原创 2020-08-19 16:18:56 · 4124 阅读 · 0 评论 -
WebRTC实践简介
技术背景众所周知浏览器从出现至今只能实现基于http协议对服务器端html内容进行无状态请求,无法实现双向通信。但在如今互联网高度发达的时代有太多的应用想通过浏览器实现点对点通讯,从而实现基于浏览器的聊天室、直播室等需求,谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。2011年5月开放了工程的源代码,在行业内得到了广泛的支持和应用,成为下一代视频通话的标准。WebRTC源自网页实时通信(Web Real-Time Communication)的缩写,是一个支原创 2020-08-19 14:17:38 · 1053 阅读 · 5 评论 -
最新OpenSSL简明教程
OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。下载官网:http://slproweb.com/products/Win32OpenSSL.html安装如果是Win64OpenSSL-1_1_1g.exe 基本采用一路下一步即可。如果是非安装版本则需要设计环境变量,安装完成后将安装位置bin目录的文件路径添加到系统环境变量,此时就可以在全局使用openss原创 2020-08-09 11:57:19 · 8989 阅读 · 1 评论 -
视频直播终端之PC版
前言前些时候由于接到公司一个视频直播的研发任务,对视频直播领域的知识进行系统学习了一段时间,开发完成了基于RTMP协议的视频推拉流功能,涉及到的终端程序主要有3个版本,分别是微信小程序版、PC版和Web版。应用过程为微信小程序与PC程序可以创建直播房间操作,对方可以用以上的任何终端程序加入房间进行视频对讲。架构Nginx 作为视频流中转服务。Client1 作为主播终端,发起推流并创建直播房间等待其它人加入。Client2 作为客播终端,加入正在直播的房间并主动推送自己的流。这样就可以完成双终原创 2020-07-08 16:53:33 · 1453 阅读 · 1 评论 -
视频直播终端开发之微信小程序版
前言由于项目需要最近接到公司的一个研发任务,尝试开发视频直播功能,要求双方可以对讲互动,并提供微信小程序、PC、Web等版本。由于之前对流媒体技术有所积累,这个任务只要满足功能演示,因此这个任务对我来说还不是太困难。技术人员要对自身掌握的技术要不断更新,技术的积累不要仅满足于工作,更要拓展自身的技术视野,不断去尝试哪些新技术。只有这样在将来的工作中才不至于被突入其来的新任务为难。技术视频直播其实就是把基于硬件产生的模拟信号数据化的过程,但涉及的技术方面比较广,我也只是学习了一些皮毛,在这里简单介绍一下原创 2020-07-07 17:18:07 · 5047 阅读 · 1 评论 -
视频直播技术随笔
前言昨天看到几个传统APP的功能菜单中也新增了直播功能,仔细观察现在手机上90%的应用存在直播功能,真是感慨视频直播功能已遍布人们生活中的每个角落,所性今天就来仔细聊一聊我所了解的视频直播技术。当然视频直播领域博大精深,我了解的也只是冰山一角。应用分类纵观当今社会上使用的视频直播功能,从应用角度上进行分类,应该可以分为娱乐性直播和实时性直播,如:斗鱼、熊猫、抖音等属于娱乐性直播,如:视频会议、教育直播等属于实时性直播娱乐性直播主要有音频,视频,聊天,打赏等功能。实时性直播除了具有音频,视频,聊天原创 2020-07-07 12:31:37 · 1347 阅读 · 0 评论 -
基于JavaCV技术实现RTSP推流和拉流功能
RTSP简介RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别...原创 2020-03-25 20:12:00 · 11607 阅读 · 5 评论 -
国标GB28181漫谈
GB/T28181-2011 《安全防范视频监控联网系统信息传输、交换、控制技术要求》是由公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草的一部国家标准。 &nb...原创 2020-03-13 12:54:20 · 1512 阅读 · 2 评论 -
流媒体传输协议漫谈
RTP网络视频流传输协议你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;...原创 2020-03-12 16:10:08 · 276 阅读 · 0 评论 -
基于JavaCV技术实现RTMP推流和拉流功能
最近项目上要求增加视频直播功能,用户又不想多花钱购买专业的视频直播系统组件,客户是上帝没办法只能自己用Java实现一套推拉流中间件使用了。技术不算困难,开发思路也比较清晰,主要是通Nginx实现流媒体服务支撑,JavaCV实现客户端视频数据流通过RTMP协议向服务端推流操作。主要技术RTMP&nb...原创 2020-03-12 16:06:37 · 19492 阅读 · 14 评论