live555

zlmediakit二次开发的若干经验 zlmedikit是一个流媒体服务器源码地址https://github.com/xia-chu/ZLMediaKit 能够处理rtsp,rtmp,hls等多种流媒体协议,与SRS功能相似,虽然没有SRS出名,但是却比SRS有几个重要的优势, 一是支持多线程,运行效率比较高,SRS只能单线程运行 二是代码支持多种平台,windows,linux, macos,arm,对开发学习比较友好。可以在VS中开发,在linux下编译运行 。SRS只能在linux下开发,开发学习略有一点不方便。 三是an... 阅读详情

live555简介编辑

是一个为 流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体 传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。

Live555 Streaming Media整体框架编辑

UsageEnvironment模块是对系统环境的抽象,包括 抽象类UsageEnvironment和TaskScheduler。UsageEnvironment主要用于消息的输入输出和用户交互功能;TaskScheduler实现事件的 异步处理、事件处理函数的注册等,它通过维护一个异步读取源实现对诸如通信消息到达等事件的处理,通过使用DelayQueue实现对其他注册函数的延时调度。该模块还包含一个HashTable类,在整个项目中都可以用到它。程序设计者通过自定义该抽象了类UsageEnvironment和TaskScheduler类的子类,就可以在特定环境(如GUI环境)中运行,不需要进行过多的修改。
BasicUsageEnvironment模块是UsageEnvironment的一个控制台应用的实现。它针对控制台的输入输出和信号响应进行具体实现。
GroupSock模块用于实现 数据包的发送和接收。GroupSock主要被设计用以支持 多播,但它也完全支持 单播通信。
LiveMedia模块是Live555最重要的模块。该模块声明了一个 抽象类Medium,其他所有类都派生自该类,下面简要介绍这些类:
Ø RTSPClient:该类实现RTSP请求的发送和响应的解析,同时根据解析的结果创建对应的RTP会话。
Ø MediaSession:用于表示一个RTP会话,一个MediaSession可能包含多个子会话(MediaSubSession),子会话可以是音频子会话、视频子会话等。
Ø RTCPInstance:该类实现RTCP协议的通信。
Ø Source和Sink:这两个概念类似DirectShow中的Filter。Source抽象了数据源,比如通过RTP读取数据。Sink是数据消费者的抽象,比如把接收到数据存储到文件,该文件就是一个Sink。数据的流动可能经过多个Source和Sink。MediaSink是各种类型的Sink的基类,MediaSource是各种类型Source的基类,各种类型的 流媒体格式和编码的支持即是通过对这两个类的派生实现的。Source和Sink通过RTP子会话(MediaSubSession)联系在一起。

openRTSP客户端流程编辑

1、创建TaskScheduler和BasicUsageEnvironment类;
2、命令行解析,获取 流媒体地址和其他选项;
3、创建RTSPClient对象;
4、如果需要,RTSPClient对象发送OPTIONS命令并解析服务端响应,获取可以使用命令集。
5、RTSPClient对象发送DESCRIBE命令,并从获服务端反馈中获取流媒体相关描述SDP字串。
6、创建MediaSession对象,解析SDP字串,创建了相应的子会话对象。在这个过程中还完成了RTP和RTCP通信使用的GroupSock对象的创建,包括协议和端口的选择。
7、根据 流媒体不同类型,实例化具体的RTP会话的Source和Sink对象。
8、RTSPClient对象发送SETUP和PLAY命令,服务端开始传输流媒体数据。
9、TaskScheduler开始事件处理循环,通过select监听数据包到达并调用注册函数进行处理。
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit) 公司项目需要实现一个只是rtsp推流和rtsp拉流的业务机制,据说ZLMediaKit能满足rtsp推拉流的相关业务。 对ZLMediaKit流媒体服务器进行安装以及了解。 0:从开源库Readme中对其功能进行了解 简单认识ZLMediaKit,了解ZLMediaKit能实现的基本功能,我的理解是他就是一个流媒体服务器。 1:ZLMediaKit环境搭建 使用linux虚拟机环境进行环境搭建,并启动: #ZLMediaKit采⽤了C++11的语法和库,要求编译器⽀持完整的C++11标准。 sudo ap 阅读详情

相关推荐

live555源码分析(一)live555初体验

live555源码分析系列 live555源码分析(一)live555初体验 live555源码分析(二)基础组件 live555源码分析(三)RTSPServer分析 live555源码分析(四)DESCRIBE请求的处理 live555源码分析(五)SETUP请求的处理 live555源码分析(六)PLAY请求的处理 live555源码分析(七)播放过程 live555源码分析(八)多播 li...

JT同学的博客 5439

FFmpeg4.3系列之18:ZLMediaKit流媒体直播

敬告:该系列的课程在抓紧录制更新中,敬请大家关注。敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等。包括:音视频、流媒体、直播、Android、视频监控28181、等。我将带领大家一起来学习:ZLMediakit配置安装与直播推流拉流、ubuntu18,centos7,windows10。。具体内容包括:1.Ubuntu18安装配置ZLMediaKit。2.Windows10编译运行ZLMediaKit。3.Centos7编译运行ZLMediaKit。 音视频与流媒体是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频和流媒体的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、流媒体直播、视频监控、等等。 梅老师从事音视频与流媒体行业18年;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。

live555—VS2013 下live555编译、使用及测试

live555简介   Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经

RunningZyx的博客 2635

《ZLMediaKit源码学习笔记》(2)MediaServer作为RTSP转发服务器

学习源码前,我们需要先熟悉如何使用ZLMediaKit提供的测试程序,正好本人手上有宇视摄像头,本节就测试下如何使用MediaServer来转发摄像头的RTSP流。

秦时小 6282

Live555 —— 1、vs2017编译“Live555 Live555 Media Server“源码

vs2017编译"LIVE555 Media Server"源码

1207

关于利用live555,RTSP取流

利用live555里面的一个live555mediaserver来作为媒体服务器,然后利用里面的TestRTSPClient来取得码流,当然官网上说了:RTSPClient只是个测试程序,如果用作产品还需要进行优化,不过可以作为参考,我也是用他来作为一个对live555入门的东西

fly2010love的专栏 9010

基于live555的RtspClient

基于live555的RtspClient 转至我的BLOGS

一个码农的自我修养 2097

live555详解

live555 Real Time Streaming Protocol或 者RTSP(实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数 据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身

max2009verygood的专栏 1096

live555 linux 编译

<br />live555 支持 h.264 初步告捷,可以播放,尽管不是很稳定,或者说暂时只能播放 1 帧(主要是我现在还不了解 帧的概念),同时还有 Mal SDP 的传输问题,但还是总结一下,作为参考。<br /> liveMedia项目(http://www.live555.com/)<br /> 1、编译安装<br /> 下载 source code 到 ubuntu 下<br /> 解压<br /> ./genMakefile linux<br /> make<br /> 2、运行

aobai219的专栏 2万+

Live555编译实现过程

简介:   Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议和RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多重音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多重音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的

QLQ的专栏 2080

linux下用live555进行二次开发指南

一、live555源码下载地址 最新代码下载:http://www.live555.com/liveMedia/public/live555-latest.tar.gz 二、编译源码过程 对于移植进行二次开发者,其实用它编译出的可执行文件是不会去用的,但是看编译过程可以帮助理解live555的架构。还有,看makefile里面的编译宏对我们开发也有帮助。 在linux下,我们使用命

Season@HangZhou 专栏 3924

LIVE555在ubuntu下的编译

1 源码下载LIVE555官网:http://www.live555.com/LIVE555源码FTP下载地址:http://www.live555.com/liveMedia/public/从中选择一个较新版本下载,这里下载live.2017.09.12.tar.gz,如下图:2 源码编译将下载的源码放到linux环境下,解压源码包tar xvzf live.2017.09.12.tar.gz ...

码拉僧的博客 8197

从0-1搭建流媒体系统之ZLMediaKit 安装、运行、推流、拉流

目前、比较有名的流媒体服务器有ZLMediaKit、srs、live555、eadydarwin等。因为srs是单线程服务、对于多核服务器的支持需要通过部署多个服务来充分利用多核特性,本文主要介绍一种通用的简单的可利用多核特性的流媒体服务器是ZLMediaKit,另外一方面其支持多种流媒体协议 rtsp、rtmp、httpflv、hls、fmp4、webrtc等,而且支持视频的直播、录制等功能。流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。

weixin_44834554的博客 8457

live555 android 直播,通过live555实现H264 RTSP直播

前面的文章中介绍了《H264视频通过RTMP流直播》,下面将介绍一下如何将H264实时视频通过RTSP直播。实现思路是将视频流发送给live555, 由live555来实现H264数据流直播。视频采集模块通过FIFO队列将H264数据帧发送给live555. live555 在收到客户端的RTSP播放请求后,开始从FIFO中读取H264视频数据并通过RTSP直播出去。整个流程如下图所示:调整和修改...

weixin_32184991的博客 902

【Live555】live555源码详解系列笔记

【Live555】liveMedia下载、配置、编译、安装、基本概念 【Live555】live555源码详解(一):BasicUsageEnvironment、UsageEnvironment 【Live555】live555源码详解(二):BasicHashTable、DelayQueue、HandlerSet 【Live555】live555源码详解(三):Groupsock 【Live555】live555源码详解(四):Medium媒体基础类 【Live555】live555源码详解(五):Med

郭老二 2387

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧

本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。

weixin_29172201的博客 393

LIVE555研究之三:LIVE555基础

LIVE555基础      LIVE555是为流媒体提供解决方案的跨平台C++开源项目。从今天起我们将正式开始深入LIVE555代码。 一、各库简要介绍     LIVE555下包含LiveMedia、UsageEnvironment、BasicUsageEnvironment、GroupSock库,MediaServer简单服务器程序以及其他多个测试demo。     LiveMedia库:包

ithzhang 1万+

单细胞转录组分析(scRNA-seq)

单细胞转录组测序(Single-cell RNA sequencing,scRNA-seq)是一种高通量测序技术,可以在单细胞水平解析基因表达情况,揭示细胞异质性,探索稀有细胞类型,并研究细胞状态转换及动态调控机制。与传统的。

大甘的博客 6148

live555搭建流媒体服务器1--live555概述

live555搭建流媒体服务器1--源码概述

TRTK 3491

XMC1402调试实战:如何用20元的Jlink-OB搞定SWD连接(附DAVE 4.4.2配置)

本文详细介绍了如何使用成本仅20元的Jlink-OB调试器,成功连接并调试英飞凌XMC1402芯片的完整实战流程。内容涵盖从理解芯片启动模式、使用Memtool完成首次烧录与模式切换,到Jlink-OB驱动安装、连接验证,以及在DAVE 4.4.2中配置调试环境并解决常见问题的全步骤,为个人开发者提供了一套高性价比的SWD调试解决方案。

zz67890的博客 553

(入门向)在Ubuntu22.04.3安装Matlab2021b,以及无法安装在当前目录下的解决办法(见最后)

还有这个/usr/local是只读状态,我试过sudo chmod..去改那个文件的读,结果还是安装不了,我不是这个默认路径,因为它文件夹还是只读,于是我在matlab2021b下创了一个bin,并选上。输入完成后,依次按y,因为里面有三个文件,他会让你确定3次密码,直接yyy跳过即可。你可能会遇到装不下的情况,这个软件占30g,可是你分配给虚拟机就剩10g。,于是我去Downloads下建了一个matlab2021b文件夹,果然好使,3).此时,会提示你输入密码,因为这个rar是有密码的,

harrype的博客 7284

Live555、FFmpeg、GStreamer介绍

Live555、FFmpeg 和 GStreamer 都是处理流媒体和视频数据的强大开源框架和工具,它们广泛应用于实时视频流的推送、接收、处理和播放。FFmpeg 解决了如何 转换、编码、解码 和 传输多种格式的视频和音频流,并能够通过 RTSP、RTP、HTTP 等协议进行流的推送和拉取。FFmpeg:功能全面,支持编解码、转码、流媒体推送/拉取,适合视频处理和流媒体应用,缺点是专注于流媒体传输的功能不如 Live555 专业。使用 Live555,可以实现 RTSP 流的接入、控制和播放。

jjjxxxhhh123的博客 3020

构建AI Agent驱动的智能健康管理系统

数据碎片化:健康数据分散在不同的设备和平台中,难以统一管理和分析。个性化不足:健康管理方案通常是通用的,难以根据个人的健康状况实时调整。用户参与度低:用户难以获得及时、个性化的健康建议,导致健康管理效果不佳。AI Agent是一个能够感知环境、采取行动以实现目标的智能实体。根据智能体的智能水平,可以分为简单反应式智能体和复杂适应式智能体。实时监测健康数据。获取个性化的健康建议。收到健康风险预警。

AI天才研究院 749
上一篇: webrtc doubango linphone
下一篇: webrtc 相关标准
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值