live555直播】的更多相关文章

加入 摄像头采集和264编码,再使用live555直播 1.摄像头采集和264编码 将x264改成编码一帧的接口,码流不写入文件而是直接写入内存中(int  Encode_frame 函数中). /* * Filename: encodeapp.h * Auther: mlj * Create date: 2013/ 1/20 */ #ifndef _ENCODEAPP_H_ #define _ENCODEAPP_H_ #include "x264.h" #include <st…
live555例程testOnDemandRTSPServer.cpp启动一个流服务器 首先启动使用环境, TaskScheduler* scheduler = BasicTaskScheduler::createNew(); env = BasicUsageEnvironment::createNew(*scheduler); 然后创建rtsp服务器实例 RTSPServer* rtspServer = RTSPServer::createNew(*env, 8554, authDB); if…
http://www.cppblog.com/tx7do/archive/2014/05/31/207155.aspx http://blog.csdn.net/sunkwei/article/details/6605314 http://www.cnblogs.com/mlj318/archive/2013/01/23/2872932.html http://git.oschina.net/bbcallen/vlc/blob/master/modules/access/live555.cpp…
参看 有关live555 1.首先需要修改live555,定义从 内存中直接获取source而不是从文件读取source的类. 自己实现的类命名为 H264FramedLiveSource   /* * Filename: H264FramedLiveSource.hh * Auther: chenbin * Create date: 2013/ 1/22 */ #ifndef _H264FRAMEDLIVESOURCE_HH #define _H264FRAMEDLIVESOURCE_HH #…
/* * H264DeviceSource.hh * * Created on: 2014年7月19日 * Author: zjzhang */ #ifndef H264DEVICESOURCE_HH_ #define H264DEVICESOURCE_HH_ #include<DeviceSource.hh> class H264DeviceSource: public DeviceSource { public: static DeviceSource* createNew(UsageEn…
http://linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/v4l2spec/: http://blog.csdn.net/kangear/article/details/8758695 远程监控 http://blog.csdn.net/kangear/article/details/8725629 http://www.cnblogs.com/over140/archive/2009/03/23/1419643.html c#+h…
1.live555在Raspberry Pi上的点播 live555MediaServer这个实例是个简单的服务器,支持多媒体点播,直接在Raspberry Pi上编译运行,或者通过交叉编译出ARM核上的可运行文件. 2.live555在Raspberry Pi上的直播 testOnDemandRTSPServer也是个简单的服务器,直播的服务端就改造这个就很方便. 更改testOnDemandRTSPServer.cpp文件中的 29行 Boolean reuseFirstSource = T…
基于Live555,ffmpeg的RTSP播放器直播与点播 多路RTSP高清视频播放器下载地址:http://download.csdn.net/detail/u011352914/6604437多路RTSP播放器源码下载地址:http://download.csdn.net/detail/u011352914/6603251多路RTSP播放器SDK说明下载地址:http://download.csdn.net/detail/u011352914/6603271详细完整资料下载地址:http:/…
因需要,从个人的理解顺序和需求角度对live555的分析与开发整理,包含RTSP Server与RTSP Client.如何直播H.264流与JPEG流等,均进行了探讨,对live555的初学者有一定的指导意义. 本人习惯使用excel归档,所以本文均为excel的截图,源文件可以再资源中下载. 基于live555的视频直播 DM368IPNC RTSP分析 appro IPNC视频流直播部分用的RTSP,基于live555,通过改写wis-streamer实现的,在live555官网上有wis…
Live555接收RTSP直播流,转换Http Live Streaming(iOS直播)协议 RTSP协议也是广泛使用的直播/点播流媒体协议,之前实现过一个通过live555接收RTSP协议,然后转换为HLS(Http Live Streaming)直播协议文件的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为HLS协议文件,以实现iPhone或iPad等设备观看RTSP直播源的需求.现在把实现的思路分享如下. 要点分析 首先,程序的主要目的,是从多路RTSP输入源中提取…
我们在开发视频直播或者监控类项目的时候,如场馆监控.学校监控.车载监控等等,往往首先希望的是形成一个项目的雏形,然后再在这个框架的基础上进行不断的完善和扩展工作,那么我们今天要给大家介绍的就是,如何形成一个这样的框架: 采集本地音视频数据(Win) -->视频分发服务器-->客户端随意接入 大致流程:我们首先通过DShow采集Windows(XP.Win7经过测试)主机的视频设备(Camera)和音频设备(Mic)的音视频资源,经过live555的RTSP推送流程和RTP封包过程,将直播数据推…
前面的文章中介绍了<H264视频通过RTMP流直播>,下面将介绍一下如何将H264实时视频通过RTSP直播. 实现思路是将视频流发送给live555, 由live555来实现H264数据流直播. 视频采集模块通过FIFO队列将H264数据帧发送给live555. live555 在收到客户端的RTSP播放请求后,开始从FIFO中读取H264视频数据并通过RTSP直播出去.整个流程如下图所示: 调整和修改Live555 MediaServer 下载live555源码,在media目录下增加四个文…
最近要搞一个直播服务,车机本身是个前后双路的Dvr,前路1080P 25fps,后路720P 50fps,现在要连接手机app预览实时画面,且支持前后摄像头画面切换. 如果要做直播,这个分辨率和帧率是非常艰难的,必须降低,经过考量之后先设定为480P 25fps,编码码率为512k看看效果再做优化. 研究了一段时间的live555,里面有很多demo可以参考,但是我这个需求和里面demo的效果有比较大的差异 因为要做实时直播,必须是实时的摄像头数据,所以没法用rtspServe播放视频文件的方式…
最近搞了个rtsp直播,初步是能用了,但是最终效果不是很好,客户不接受要求我们一定要继续优化. 原因是他们体验的时候发现会概率性出现马赛克和画面卡顿情况,经过我们测试验证,确实是有这个问题存在. 从原理上分析可能的原因有如下几个: 1.网络原因导致丢帧了. 2.App客户端接收buf不够大. 3.rtsp服务器发送buf不够大. 我们通过和App联调,将buf缓冲区改大了很多倍然后进行测试,发现效果没有得到改善,所以应该不是这两个原因. 那就只能是第一个原因,通过网络工具监视分析,发现我们的wi…
http://blog.csdn.net/firehood_/article/details/16844397…
先简单介绍一下EasyPusher的功能,后面再对具体内部架构做介绍: EasyPusher:https://github.com/EasyDarwin/EasyPusher EasyPusher是什么? EasyPusher是一个推送流媒体音视频给开源流媒体服务器EasyDarwin的推送库,通过EasyPusher我们就可以避免接触到稍显复杂的RTSP/RTP推送流程,只需要调用EasyPusher的几个API接口,就能轻松.稳定地把流媒体音视频数据推送给EasyDarwin服务器进行转发和…
RTSP协议转换RTMP直播协议 RTSP协议也是广泛使用的直播/点播流媒体协议,最近实现了一个RTSP协议转换RTMP直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为RTMP直播协议,推送到FMS.Red5.wowza server等RTMP服务器,以实现flash观看RTSP直播源的需求.程序同时也具备从FLV文件获取输入数据并转换RTMP直播.实现的思路分享如下. 要点分析 首先,程序的主要目的,是从多路RTSP输入源中提取AAC编码的音频和H.264编码视…
LIVE555基础 LIVE555是为流媒体提供解决方式的跨平台C++开源项目.从今天起我们将正式開始深入LIVE555代码. 一.各库简要介绍 LIVE555下包括LiveMedia.UsageEnvironment.BasicUsageEnvironment.GroupSock库,MediaServer简单server程序以及其它多个測试demo.     LiveMedia库:包括一系列处理不同编码格式和封装格式的类.基类是Medium.     UsageEnvironment库:环境类…
从安卓智能手机.平板,到可穿戴的Android Ware.眼镜.手表.再到Android汽车.智能家居.电视,甚至最近看新闻,日本出的几款机器人都是Android系统的,再把目光放回监控行业,传统监控中的移动终端设备,例如:单兵设备.手持设备.车载终端设备,包括家庭监控中用到的智能设备,都可以用Android系统替代了,不仅开发容易,而且易扩展,设备也更加智能了.... Google I/O大会之后,不难看出安卓在Google的推进以及本身的开放性作用下,已经快延生到生活的各个方面了,从安卓智能…
作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 上一篇文章简要介绍了怎样以共享库的方式交叉编译Live555,今天再来介绍live源代码框架. 先对live555有一个宏观的认识,为今后的实战打个基础. liveMedia项目的源代码包含四个主要的库,各种測试代码以及IVE555 Media Server.四个主要的库各自是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsag…
RTSP协议转换RTMP直播协议 RTSP协议也是广泛使用的直播/点播流媒体协议,最近实现了一个RTSP协议转换RTMP直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为RTMP直播协议,推送到FMS.Red5.wowza server等RTMP服务器,以实现flash观看RTSP直播源的需求.程序同时也具备从FLV文件获取输入数据并转换RTMP直播.实现的思路分享如下. 要点分析 首先,程序的主要目的,是从多路RTSP输入源中提取AAC编码的音频和H.264编码视…
基于Live555实现RtspServer及高清高码率视频传输优化 最近做了一些pc和嵌入式平台的RTSP服务器项目,大多数的要求是简单但是功能全面,并且性能还要强劲.综合考虑后,基本都是在基于live555的基础上进行开发,在进行Live555本身的优化以及程序内部视频数据传输的优化后,不仅实现了需求而且性能还超出预期,实现了10Mbps高码率的1080p以上高分辨率高清视频的流畅直播.这里将一些优化点分享一下: 为什么基于Live555开发 其实之前我就已经开发过一个RTSP Server程…
来自:http://blog.csdn.net/sunroyi666/article/details/52981639 一. 先介绍一下流媒体技术:所谓流媒体技术,是指将连续的影像和声音信息经过压缩处理后放在网站服务器上,让用户能够一边下载一边观看.收听(即所谓的“在线欣赏”),而不需要等整个压缩文件下载到自己的机器上才可以欣赏的网络传输技术. 一般来说,一个完整的流媒体服务系统需要三个部分组成:编码器.流服务器和播放器.. 编码器通过对内容来源(如MP3文件或者麦克风输入)进行编码,并将编码过…
live 555   freebsd 或centos 7.4 实现代理视频直播服务 the live555 media server    在线直播服务器 关于此服务器 此服务是一个无安全的rtsp服务器的应用程序,它能够制作一些媒体文件的流(存储在当前的工作目录,也就是你运行的程序的目录或者自目录) mpeg 传输的额刘文建 .ts后缀 matroska或者webm文件    .mkv或者webm后缀 ogg文件     .ogg    .ogv     .opus mpeg-1或者-2  …
前一段在维护EasyNVR客户的过程中遇到一个问题,在接入宇视NVR的时候,就是明明在vlc中能非常正常播放的视频流,却用EasyRTSPClient RTSP客户端拉流的协议交互过程中,PLAY命令之后,宇视的NVR却返回了500 Server Internal Error: 这个时候,不得不说我们的客户神通广大,还有宇视的技术支持给力,及时找出了问题,就是在流媒体交互的过程中,如果是实时流的话,PLAY命令中是不带Scale字段的,为啥在大部分的IPC和NVR都好好的,结果宇视的就这么矫情呢…
在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服务器方案架构设计之视频能力平台>中对整体的架构设计思路做了总结,做高内聚.低耦合的视频能力平台,不涉足业务部分!那么今天,我们来公开一下EasyNVR到底是如何实现这些功能的: 一.程序框架 熟悉EasyDarwin的同学都知道,EasyDarwin作为老牌的功能框架,在很多领域是非常能够满足开发者需求的,尤其是…
我们在实现一套EasyNVR无插件直播方案时,选择了采用厂家无关化的通用协议RTSP/Onvif接入摄像机IPC/NVR设备,总所周知,Onvif是摄像机的发现与控制管理协议,Onvif用到的流媒体协议也是RTSP,那么,我们在摄像机/NVR流媒体接入上,就是直接采用统一的RTSP协议接入: 然而,在RTSP协议上,由于各个厂家都有不同的处理方法,比如 海康.大华.雄迈.宇视.天地伟业等厂家的RTSP地址规则就不一样,在有Onvif协议支持的设备还好一些,可以通过Onvif将摄像机的RTSP地址…
在之前的博客中,我们提到了如何用Darwin&live555实现直播过程,那么更进一步,当直播结束时,我们需要关闭所有正在收看的客户端,并且delete转发会话ReflectorSession,这样才能够在下一次再有同样名称的流推送进来时,创建新的转发Session. 我们下面所做的修改都是基于Darwin 6.0.3进行,具体下载可到https://github.com/xiejiashu/EasyDarwin获取.我们首先来对原有的ReflectorSession控制进行分析: 首先对于推送…
在很早之前的博客<用EasyDarwin进行IPTV rtsp mpeg-ts smil流的转发和分发直播服务>中,我们介绍到如何将live555支持mpeg2ts拉流,这个在IPTV领域用的特别多,其实修改的点也不是很多,主要是要对live555有一点的熟悉程度,这里就不多显摆啥了,直接上之前的说明和代码: live555直接请求IPTV RTSP时,IPTV服务器返回给客户端的sdp信息中的m=字段,这个媒体类型live555是无法识别的,也就是MP2T(mpeg2-ts)流,从抓包来看,…
本文转自博客:http://blog.csdn.net/jinlong0603/article/details/56047145 EasyPusher RTP直播推送介绍 EasyPusher是一个推送RTSP流媒体音/视频流给RTSP流媒体服务器的标准RTSP/RTP协议推送库,全平台支持(包括Windows/Linux(32 & 64),ARM各平台,Android.iOS),通过EasyPusher就可以避免接触到稍显复杂的RTSP(ANNOUNCE.SETUP.PLAY)/RTP/RTC…