目录 2019年终总结&小半年流媒体服务器开发经验总结 19年开发小结 流媒体服务框架设计 登录服开发 ffmpeg音视频服务开发 音视频控制 流媒体服务开发小结 rtp处理 视频的合成&音视频缓冲区 音视频编码 回顾19展望20 2019年终总结&小半年流媒体服务器开发经验总结 时间转瞬即逝,转眼间19年已经过去了,人愈来愈来老,却不见人心和物质的提升,期望2020年能有一个崭新的自己. 今年因为发展原因,从嵌入式跳槽做互联网后端了,干了一年突然转行,自己也很纠结这么做对不对,但…
转 :http://redstarofsleep.iteye.com/blog/2123752 Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒体服务器. 这个流媒体服务器可以支持RTMP和HLS(Live Http Stream) 从安装开始 Nginx的安装参照我之前的这个: http://redstarofsleep.iteye.com/b…
1.安装Ubuntu 12.04操作系统,网上很多教程.. 2.打开终端,下载darwin源代码DarwinStreamingSrvr6.0.3-Source.tar,补丁patch dss-6.0.3.patch(确保Ubuntu系统能够上网) (1) 下载darwin源代码DarwinStreamingSrvr6.0.3-Source.tar $wget http://dss.macosforge.org/downloads/DarwinStreamingSrvr6.0.3-Source.t…
参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html 上面这两个流的地址分别是: 第一个就是推送的地址: RTMP推流地址: rtmp://serverIp:1935/myapp/test1 第二个是HTTP地址: HLS推流地址: http://serverIp:…
之前使用命令方式安装nginx并配置了反向代理,由于想做一个视频直播的小项目,查了流媒体服务器的方案,发现nginx有相关模块,于是开始搞起. nginx-rtmp模块需要在nginx编译时,以模块方式编译进去,所以,之前搭建的nginx不能用了,只能另外下源码编译,但是也不必卸载原来的环境,后面会介绍如何处理两个环境共存问题. 1.安装编译工具及库文件(使用yum命令安装) yum install -y apr* autoconf automake bison bzip2 bzip2* clo…
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.javaCV-openCV) javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG) javaCV开发详解之4:转流器实现(也可作为本地收流器.推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp…
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.javaCV-openCV) javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG) javaCV开发详解之4:转流器实现(也可作为本地收流器.推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp…
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.javaCV-openCV) javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG) javaCV开发详解之4:转流器实现(也可作为本地收流器.推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp…
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.javaCV-openCV) javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG) javaCV开发详解之4:转流器实现(也可作为本地收流器.推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp…
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这方面的东西,没有什么感觉可言:搜索了一些资料以后,虽然有开业的实现方式,但是大家都没有完成的说明的,或者说我还没有更深入的研究到.不过让我找到了关于假设流媒体播放器的资料,不过是基于centos的操作,那我就试做成ubuntu的step by step吧. ###步骤如下: step1准备ubunt…
二.何为流媒体与流式传输? 2.1 流媒体 「流媒体」是指采用「流式传输」的方式在Internet播放的媒体格式,流媒体最大的特点就是「边下边播」,常用的流媒体格式有FLV(使用FLASH作为视频播放载体).TS等 2.2 流式传输 「流式传输」指通过网络传送流媒体的技术总称.流式传输分为「实时流式传输」与「顺序流式传输」.一般来说,如果视频为直播,即为实时流式传输.如果视频不是直播,文件通过顺序流发送,即为顺序流式传输. 三.何为解复用? 「解复用」是指从「音频视频信号源」中分流出「单独的音频…
参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html 上面这两个流的地址分别是: 第一个就是推送的地址: RTMP推流地址: rtmp://serverIp:1935/myapp/test1 第二个是HTTP地址: HLS推流地址: http://serverIp:…
做好的web应用,去客户现场部署的时候发现流媒体服务器不能启动.(现场服务器系统为windows server2008 R2) 自己测试的时候搭建环境没什么问题.从来没有遇到安装windows media server组件后,流媒体服务器不能启动的情况.一下子不知道该如何下手. 查了系统日志,有如下信息 ----------------------------------------------------------------------------分割线------------------…
电影服务器一点也不稀罕,是的我们见的太多了,但是大家有没有想过自己也能架一个这样的服务器? 当然现在架一个电影服务器不切实际,去年吵的闹哄哄的“视听许可证”想必大家有所耳闻,再加上电影对服务器的要求一般很大,一般草根站长是不愿意趟这个水的.但是如果是宾馆,酒店,网吧…..这样的“内部”场所,如果能架一个电影服务器,就再好不过了,最好也有像常见电影网站一样的友好界面,图片呀,剧情介绍啊,等等……….接下来我就带大家来讨论一下这方面的问题 讲电影服务器架设之前我们先来看一下什么是流媒体服务器.简单地…
nginx-rtmp https://github.com/pengqiuyuan/nginx-rtmp nginx-rtmp 流媒体服务器的搭建(采集桌面,手机直播) 在线Demo,直播自己的pc机桌面音视频(现在就一单线路,1M带宽,2个人向同一个目录下推送m3u8.ts文件肯定不行,之后再改,资源有限) 1.下载ffmpeg及脚本 http://download.csdn.net/detail/pqy15005917185/8160799 2.安装screen-capture-record…
本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! EasyDSS 高性能流媒体服务器前端架构概述 EasyDSS 高性能流媒体服务器前端部分最初采用的是 AdminLTE + 各方 jQuery 插件的开发方式, 也就是网络上通常讲的 bootstrap + jquery plugins 的方式. 有经验的前端开发者想必都了解这种架构下开发前端页面的痛点. 当一个页面上 UI 组件多起来的时候, 代码组织就…
所谓流媒体技术,是指将连续的影像和声音信息经过压缩处理后放在网站服务器上,让用户能够一边下载一边观看.收听(即所谓的“在线欣赏”),而不需要等整个压缩文件下载到自己的机器上才可以欣赏的网络传输技术.目前,在这个领域中的竞争者主要有微软.RealNetworks.Apple三家公司,例如微软新近发布了Windows Media Services 9.RealNetworks公司新近发布的Helix Platform.Apple新近发布的Darwin streaming server 4.1,意图在…
文章地址:http://blog.csdn.net/zph1234/article/details/52846223 本次搭建流媒体使用的环境是centos 7.0+nginx:让我们一起开始奇妙的流媒体之旅吧! 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: git clone https://github.com/arut/nginx-rtm…
现在D版的远古影视系统很流行,也很实用,但是在这之前,很多人都是用共享,或者是使用Helix Server留媒体来做电影服务器~ 虽然Helix Server流媒体服有点落伍了,不过我相信它还是有用武之地的,比如我们辽宁朝阳人民广播电台用的就是Helix Server流媒体, 所以今天实在无聊,写一个教程吧,比较罗嗦,算是给不懂的人看,俗话说师傅领进门,修行在个人嘛.我告诉不懂的人如何去安装,去基本设置,就 完事,其他的高级功能大家自行研究~反正呆着也是无聊,多学点东西还是好的~~ OK Let…
Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒体服务器. 这个流媒体服务器可以支持RTMP和HLS(Live Http Stream) 从安装开始 Nginx的安装参照我之前的这个: http://blog.csdn.net/redstarofsleep/article/details/45092127 在configure的时候需要增加ngi…
title: Node版本EasyDarwin开发心得 date: 2018-03-27 22:46:15 tags: 年后着手Node版本EasyDarwin的开发工作,截止到今天2018年03月27日上线了第一个版本,今天小米发布了MIX2S, 致敬! 致敬! 关于RTSP协议 目前这个第一版暂时仅支持RTSP Over TCP, 不过RTSP Over UDP也会很快实现.总体来说, RTSP协议比较简单.开发过程中对RTSP协议的理解主要参考了 rtsp协议详解 这篇文章.sdp的解析一…
1.背景需求 很多客户在使用EasyNVR无插件流媒体服务器时,不喜欢产品化的界面,有时可能满足不了日常观看使用的需求.因此软件提供丰富的HTTP接口,供第三方平台调用集成.但是有时客户这边可能没有专业的团队进行二次开发,这样一来就无法使用软件提供这么优秀的环境,实属可惜. 2.解决方案 这里可以通过很多种方法调取软件提供的接口,只要支持http协议都可以.这里我通过jQuery插件调取接口实现在web播放功能小案例,目的就是为了让客户对接口的初步了解并使用. 3.实现 新建文件demo目录结构…
简要描述 今天突然接到国内某上市公司同事打来的技术咨询电话,经过简单的沟通,大概所描述的需求是: 1.目前现场有非常多的摄像机资源需要接入: 2.需要将摄像机的RTSP流转成RTMP流接入到微信小程序: 3.微信小程序已经确认是能直接播放RTMP流的: 4.希望功能就像微信支付一样,随用随拿,用完就走: 后来经过简单的总结,大概的意思就是,需要能有这么一个流媒体服务,通过接口调用,传入一个RTSP地址的参数,流媒体服务能直接返回经过转换之后的RTMP播放地址,不需要在需要播放之前做任何的通道配置…
前前后后搭建了两三个星期,终于可以告一段落,nginx实在是有点强大.写一篇笔记来记录一下这个过程中的思路和解决方案. 一.搭建nginx平台: 基本是基于http://blog.csdn.net/xiaoliouc/article/details/8363984 一步步安装nginx搭建流媒体服务器 这篇博客来搭建. 我的ubuntu是14.04LTS.各种包的版本是: nginx-1.9.9 nginx_mod_h264_streaming-2.2.7.tar.gz openssl-0.9.…
CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源 [root@linuxidc ~]# wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm [root@linuxidc ~]# rpm –import http://apt…
开发EasyDSS的初衷 自从12年开始做EasyDarwin的时候,当时眼光一直都仅仅局限在安防监控视频这一块,对RTMP没有太大的重视,对于后起之秀HLS更是没有太多关注,然而经历了15直播火热的发展,RTMP.HLS.H5直播已经势不可挡了,16年初的时候我才恍然清楚,传统的安防已经没有太大的发展空间了,安防的下一个爆发点将会是在:安防视频的互联网化!,果不出所料,我们开发了一款非常火热的EasyNVR项目受到了来自全国用户的喜爱,当然这个不是本篇讨论组的重点: EasyDarwin如何向…
接上篇 接上篇<高性能流媒体服务器EasyDSS前端重构(三)- webpack + vue + AdminLTE 多页面引入 element-ui> 本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! video.js 介绍 Video.js - open source HTML5 & Flash video player 作为一款高性能流媒体服务器的前端, 必不可少会用到流媒体播放器. 在播放器…
前言 前一段时间,我们为EasyDarwin实现了客户端快速显示画面/听到同步声音的缓存关键帧检索方案,具体的实现方法分别在<EasyDarwin手机直播是如何实现的快速显示视频的方法>和<EasyDarwin手机直播转发快速显示问题之音频处理过程>两篇博客中可以了解到具体的实现原理,实现的方法代码也可以在EasyDarwin的ReflectorStream类中找到: 问题需求 经过了一段时间的测试和项目检验,按照上述描述的流程,能够很好地实现快速显示功能,但转发过程中,还会出现随…
使用环境是centos 7.0+nginx:可以实现简单的流媒体服务. 先下载nginx-rtmp-module拓展: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module git clone https://github.com/arut/nginx-rtmp-module.git 先将nginx-rtmp-module下载到linux服务器中,如果没有git需先安装git,参考linux安装git 接下来…
接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: git clone https://github.com/arut/nginx-rtmp-module.git 将nginx-rtmp-module下载到linux中. 2.安装nginx: nginx的官方网站…