写这篇博客主要是为了给新入门的流媒体开发者解惑,现在看到各种开发者的需求:网页播放RTSP摄像机、微信播放RTSP摄像机、网页播放摄像机SDK输出的视频流、网页播放第三方流媒体平台输出的视频流、包括Github有一些所谓的H5RTSPPlayer,这些都无外乎一个共同点,就是H.264+AAC进行RTMP推流;

将整个过程进行拆分为二:

一、通过RTSP或者SDK获取H.264视频流和AAC音频流,获取RTSP流我们可以用ffmpeg、EasyRTSPClient(https://github.com/EasyDarwin/EasyRTSPClient)等方案,获取SDK流我们就可以用各个摄像机厂家或者平台厂家提供的各种平台SDK(海康NetSDK、大华NetSDK、雄迈LocalSDK)等等,这些都能无一例外地有共同的流程:

  • 初始化
  • 登录
  • 设置数据回调
  • 开始实时流
  • 处理实时返回的音视频数据
  • 释放Handle

视频数据大多返回的是H.264数据流,音频就各种各样了,有返回G.711、G.726、AAC的,如果是返回的G.711或者G.726时,就需要调用AAC的编码器(如ffmpeg、EasyAACEncoder等)将安防的音频流转换成AAC的音频编码格式;

二、将编码好的H.264视频和AAC音频以RTMP/FLV的方式推流到通用的RTMP服务器(nginx-rtmp、srs、EasyDSS、CRTMPD等),进行RTMP/HLS的直播,这里就主要是RTMP推流功能的实现,我们可以采用ffmpeg、librtmp、EasyRTMP等多种方案推流,如果采用ffmpeg为工具进行RTSP拉流的话,我们建议推流也用ffmpeg,这样直接将音频数据在ffmpeg内部进行一次filter转码,就可以实现rtmp的output了,如果采用librtmp的话,也是比较好的方案,毕竟市面上90%的RTMP推流都是Based On librtmp,包括EasyRTMP,之所以推荐用EasyRTMP一方面是因为是EasyDarwin团队其他伙伴的产品,另一方面,确实好用,有非常完备的多平台调用示例(https://github.com/EasyDarwin/EasyRTMP):

  • EasyRTMP_File:读取MP4文件推RTMP直播流,实现虚拟直播;
  • EasyRTMP_RTSP:读取RTSP流并进行转换成RTMP推流到RTMP服务器;
  • EasyRTMP_SDK:调用SDK获取音视频流,再推流RTMP;
  • EasyRTMP Android:安卓推送摄像头/屏幕进行RTMP直播;
  • EasyRTMP iOS:iOS苹果推送摄像头进行RTMP直播;

完备的调用示例,加上全平台的支持(Windows、Linux、arm、Android、iOS),给了开发者非常好的选择和帮助;

按照以上的两个流程,我们就可以将RTSP/SDK获取到的数据进行RTMP/HLS发布,实现全终端、无插件化的播放了,这也是所谓的H5 RTSP播放器的实现方案,RTSP要H5播放,必须借助于服务器的转换;

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页/手机微信播放的更多相关文章

  1. Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

    Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...

  2. 基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能

    提出问题 EasyNVR是一套摄像机无插件直播的流媒体服务器软件,他可以接入各种各样的摄像机,再经过转化统一输出无插件化直播的RTMP.HLS.HTTP-FLV流,同时,EasyNVR为了数据安全,提 ...

  3. 最新海康摄像机、NVR、流媒体服务器、回放取流RTSP地址规则说明

    本文档主要介绍海康威视设备预览.回放.流媒体取流的RTSP URL和IE直接预览.回放的HTTP URL. RTSP为取流协议,取到码流后需要解码显示,可以通过VLC播放器进行测试,IE等浏览器网页不 ...

  4. Android视频直播:流媒体服务器搭建

    一.前言 实时视频直播是这两年非常火的技术形态,已经渗透到教育.在线互娱等各种业务场景中.但要搭建一套实时视频直播系统,并非易事,下面针对直播系统的的搭建做一下说明: 1.1 通常的直播系统的技术模型 ...

  5. EasyNVR摄像机无插件直播流媒体服务器前端构建之输入框样式的调整

    EasyNVR授权方式分为软件的授权和硬件授权两种方式,软件授权需要在软件输入永久邀请码可以激化永久授权 起初我们的界面设计是为了满足功能的需求就是 ,用户可以输入激活码提交,完成永久授权. 在实际的 ...

  6. CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

    1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源     [root@AY130611215205Z ~]# wget -c http://pkgs.repoforge.or ...

  7. EasyDSS流媒体服务器灵活地帮助用户实现摄像机RTSP转RTMP直播功能

    简要描述 今天突然接到国内某上市公司同事打来的技术咨询电话,经过简单的沟通,大概所描述的需求是: 1.目前现场有非常多的摄像机资源需要接入: 2.需要将摄像机的RTSP流转成RTMP流接入到微信小程序 ...

  8. javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  9. 安防视频互联网化的EasyDSS流媒体服务器不但能Easy安防流媒体的开发而且能更加互联网化视频协议的输出

    开发EasyDSS的初衷 自从12年开始做EasyDarwin的时候,当时眼光一直都仅仅局限在安防监控视频这一块,对RTMP没有太大的重视,对于后起之秀HLS更是没有太多关注,然而经历了15直播火热的 ...

随机推荐

  1. 20145329 《Java程序设计》实验五总结

    实验内容: 1.用老师代码编写,实现服务器与客户端. 2.客户端与服务器连接 3.客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务器的公钥加密,计算明文的Hash函数值,一起传 ...

  2. $.getJSON()函数内的数据不能传到全局变量是怎么回事?

    var json_obj2; $.getJSON("js/invite_panel.json",function(data){ json_obj2=data }) console. ...

  3. Commons之Commons-io

    转载自(https://my.oschina.net/u/2000201/blog/480071) 1  概述 Commons IO是针对开发IO流功能的工具类库. 主要包括六个区域: 工具类——使用 ...

  4. LeetCode——Maximum Product of Three Numbers

    Question Given an integer array, find three numbers whose product is maximum and output the maximum ...

  5. webservice的cxf和spring整合发布

    1.新建一个web项目 2.导入cxf相应的jar包,并部署到项目中 3.服务接口 package com.xiaostudy; /** * @desc 服务器接口 * @author xiaostu ...

  6. webservice声明发布SOAP1.2

    在不声明1.2的情况下,默认是1.1 当声明1.2时

  7. jQuery基本筛选选择器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. MySQL 乐观锁 悲观锁 共享锁 排他锁

    乐观锁 乐观锁是逻辑概念上的锁,不是数据库自带的,需要我们自己去实现.乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁 ...

  9. 【转】学习Python的19个资源

    原文链接:[译]学习Python编程的19个资源 用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言.如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话, ...

  10. Chrome自动化搭建

    工具安装: 1.selenium-java-2.53.0-srcs.jar 2.selenium-java-2.53.0.jar 3.下载chromedriver.exe(下载地址:http://ch ...