首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(2)——Rtsp消息格式

    上一篇我们简单介绍了rtsp协议,本篇我们来看一下rtsp的消息结构! RTSP消息分为两大类,一类是请求消息(request),一类是回应消息(ressponse)! 如图中所示,该RTSP请求消息的方法为OPTIONS,请求的目标地址为rtsp://192.17.1.63:554,RTSP的版本为1.0; 接下来包含两种类型的消息,第一种为CSeq表示序列号,本次请求的序列号为 1(服务器端回复此请求的数据包的序列号也是1); 第二种为User-Agent,表示用户代理,值为 “Lavf58.42.100”; 由于User-Agent为最后一条消息,其后要跟两组回车和换行! 我们接下来看一下回应消息的格式: 2 回应消息(response) ? 回应消息由RTSP版本+状态码+解释开头,之后跟一条或多条消息! 回复消息以Response标识,该消息中RTSP的版本号为1.0; 服务器回复的状态码为401; 针对状态码401的解释为Unauthorized(未授权); 包含两种类型的消息: 一是WWW-Authenticate

    4.6K52发布于 2020-10-10
  • 来自专栏txp玩Linux

    rtsp服务器测试的“骚”操作!

    好了,今天给大家分享的是rtsp系列专题的第一个开篇:rtsp服务器搭建! rtsp服务器搭建: 今天我们搭建这个rtsp服务器的名称叫做:ZLMediaKit,它是一个基于C++11的高性能运营级流媒体服务框架,类似我之前给大家搭建的rtmp服务器(srs流媒体服务器),当然它两者肯定是有区别的 服务器了。 测试rtsp服务器: 我们现在来把本地媒体文件推流到这个服务器上,然后再进行拉流播放试试,你可以使用obs或者ffmpeg命令来进行,这里我使用了ffmpeg来进行推流,我电脑本地的媒体文件test.mp4 tcp rtsp://192.168.32.128/live/test 注意:后面的ip地址是你ubuntu搭建服务器的ip地址,这个千万不要弄错了,不然试验不会成功的哈!

    3K41编辑于 2022-03-21
  • 来自专栏全栈程序员必看

    QT 实现 RTSP 视频流服务器

    uos操作系统中使用QT开发RTSP 视频流服务器,以下的实现方式使用的是单播方式,除了单播模式还有多播模式。 可以通过自己开发的rtsp服务器将摄像头的数据时时推送到服务器中,其他用户可以通过访问视频流地址rtsp://127.0.1.1:8554/live,直接访问摄像头播放的内容,也就是通常说的摄像头直播。 本篇文章使用开源框架live555开发一个属于自己的视频流服务器。 安装环境依赖 live555的使用需要较多的环境依赖,一下安装都是编译依赖相关内容。 deviceName.empty()) sms->addSubsession(V4l2H264DevUnicastServerMediaSubsession::createNew( /RTSPServer -i 0 播放视频: 使用播放工具mplayer 安装播放工具: sudo apt install mplayer 播放rtsp地址: mplayer rtsp://127.0.1.1

    4.5K20编辑于 2022-11-01
  • 来自专栏呱牛笔记

    Freeswitch实时转发rtsp视频流到录制服务器

    服务器来完成,rtsp服务器选用ZLMediaKit; Freeswitch的配置: <action application=\"set\" data=\"execute_on_answer=record_session $destination_number." \"/> Freeswitch录制时的函数栈和转流到rtsp服务器的日志: #0  av_file_open (handle=0x7f955c0831a0,  SSE2Fast LZCNT SSSE3 SSE4.2 AVX profile Constrained Baseline, level 4.1, 4:2:0, 8-bit 264 - core 164  最后合成一个mp4文件,只录一端,一端的视频,加上两端的音频混合一起录制; 下一步,修改mod_av,实现freeswitch推流给rtsp服务器,由rtsp服务器实现录制和点播功能! ----更新:20221008--- 会议如何录制到rtsp,只需要简单配置录制地址到rtsp服务器就可以!

    3.8K10编辑于 2023-05-02
  • 来自专栏C++

    FFmpeg4.0笔记:rtsp2rtmp

    AV_ERROR_MAX_STRING_SIZE, errnum) #define INFILE "in.flv" #define RTMP "rtmp://192.168.140.128/live/test" #define RTSP "rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov" int file2rtmp() { int ret = 0; / = 0) cout << av_err2str(ret) << endl; return 0; } int rtsp2rtmp() { int ret = 0; 封装上下文 AVFormatContext* ictx = nullptr; AVFormatContext* octx = nullptr; const char* iurl = RTSP = 0) cout << av_err2str(ret) << endl; return 0; } int main() { //file2rtmp(); rtsp2rtmp

    1.7K50发布于 2018-06-22
  • 不用服务器转码,Web端如何播放RTSP视频流?

    传统方案中,开发者需依赖服务器端转码(如将RTSP转为HLS、RTMP或WebRTC),通过中间层技术适配浏览器兼容性。这一模式虽能勉强实现播放,却带来了高昂的隐性成本与性能损耗。 2. ‌成本黑洞:资源消耗与运维负担‌服务器转码对计算资源(CPU/GPU)的占用呈指数级增长:企业不仅需承担硬件采购成本,还需为带宽、电力、运维团队付出高昂代价。3. ‌ 猿大师播放器:颠覆传统,定义Web端RTSP直播新标准‌面对行业痛点,猿大师播放器以‌“零转码、低延迟、全兼容”‌为核心突破点,实现RTSP流在Web端的原生级播放体验,彻底告别服务器转码的枷锁。 原生RTSP协议直连,无需服务器转码彻底摒弃传统转码方案,直接在网页端播放RTSP流,减少中间环节,避免因转码导致的服务器资源消耗与带宽浪费。 2. 毫秒级超低延迟,最低300ms响应依托硬件解码与网络自适应技术,延迟低至300毫秒,较传统转码方案(延迟3-15秒)提升10倍实时性,满足交通应急指挥、事故快速响应等场景的严苛需求。3.

    2.4K10编辑于 2025-05-13
  • 来自专栏python3

    python rtsp

    # -*- coding: utf-8 -*- """ A demo python code that .. 1) Connects to an IP cam with RTSP 2) Draws RTP /1.0\r\nCSeq: 2\r\nUser-Agent: python\r\nAccept: application/sdp\r\n\r\n" setu="SETUP "+adr+"/trackID "client_port=1000-1001"       nums=pat2.findall(mstring)       numas=[]       for num in nums:          lc=12 # bytecounter       bc=12*8 # bitcounter            version=bt[0:2].uint # version       p=bt[3 .com/  https://github.com/odie5533/Python-RTSP

    2.2K20发布于 2020-01-06
  • 来自专栏全栈程序员必看

    RTSP协议

    RTSP对流媒体提供诸如暂停、快进等控制,而它本身并不传输数据。RTSP的作用相当于流媒体服务器的远程控制。 2RTSP与HTTP的区别与联系 联系:两者都用纯文本来发送消息,且RTSP协议语法也和HTTP类似。RTSP一开始这样设计,也是为了能够兼容使用以前写的HTTP协议分析代码。 DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE,GET_PARAMETER //服务器提供的可用的方法 2)DESCRIBE C向S发起DESCRIBE请求 服务器回应信息: RTSP/1.0 200 OK Server: UServer 0.9.7_rc1 Cseq: 3 Session: 6310936469860791894 //服务器回应的会话标识符 媒体协商这一块要用RTSP来实现。 下面是一个helix流媒体服务器RTSP协议中的SDP协议: v=0 //SDP version // o field定义的源的一些信息。

    5.7K40编辑于 2022-09-06
  • 来自专栏Owen's World

    服务器2

    2.改成以在服务器上npm run start的方式启动nuxt,监听3000端口,不会出现301请求了。但是静态文件会时不时出现404。 3.改成本地编译生成.nuxt文件夹之后,上传服务器启动。 * ${PRONAME}/*" 复制代码 4.正式服务器上通过pm2 管理nuxt项目。启动成功。 5.但仍有问题,部署过程中,需要在远程机器安装依赖,这个过程需要数秒钟。 "DB_ADAPTER=postgres" -e "DB_URI=postgresql://konga:konga@172.17.0.1:5432/konga" pantsel/konga 复制代码 服务器磁盘占满

    71510编辑于 2021-12-07
  • 来自专栏全栈程序员必看

    rtsp html播放_浏览器视频播放rtsp

    从摄像机获取的RTSP视频流直接在浏览器中播放,这里采用vlc插件进行播放,设置步骤如下 1、下载32位的vlc播放器,安装时选择安装插件,安装路径不要有空格,注意64位播放器安装上也不能正常播放 (我测试不能正常播放) 2、注册VLC插件(否则视频无法正常显示):使用cmd 运行:regsvr32 D:\VideoLAN32\VLC\axvlc.dll 其中D:\VideoLAN32\VLC为VLC events=’false’width=”720″height=”410″> object> div> body> 其中,value=’rtsp://184.72.239.149/vod/mp4://BigBuckBunny fullscreen:是否全屏 controls:显示默认的控件 4、目前测试IE浏览器和360浏览器可以正常支持vlc插件播放 5、若需要播放多个视频,将object标签拷贝几次,将id改一下,将不同的RTSP

    5.3K40编辑于 2022-11-07
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(11)——RTSP_SET_PARAMETER

    上一篇介绍了RTSP的GET_PARAMETER消息,看到这个消息类型,我们很容易习惯性的想到应该还要有一个RTSP_SET_PARAMETER消息,如我我们所愿,RTSP确实有这样一条消息,本篇我们来看一看 如果请求中包含多个参数值,则服务器只有在所有的参数被成功设置的情况下,才会生效。 服务器允许某个参数被重复设置成相同的值,但不允许改变参数的值! URI表示rtsp的地址; Rtsp Version表示版本号; CSeq表示序列号; Content-length表示内容长度 Content-type表示内容类型; 之后跟着1个或多个参数及对应的值 RtspVersion表示Rtsp的版本号; 状态码和状态描述给出了对于设置某个参数的请求的回复状态,如状态码451,表示无效参数(Invalid Parameter)! 到这里,关于RTSP的主要的一些请求,我们基本就都了解了,当然,RTSP还有一些其他更加细节的请求,在实际中应用较少,就不再做详细介绍了!

    2.3K31发布于 2020-10-30
  • 来自专栏machh的专栏

    RTSP协议详解

    一次基本的RTSP操作过程是: 首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。 流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。 RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不同的协议标识符,RTSPrtsp 1.0,HTTP为http 1.1; 2. 2. 实体(Entity): 作为请求或者回应的有效负荷传输的信息。 , PLAY, PAUSE 2. 2.

    4.8K30编辑于 2022-06-10
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现外部RTSP|RTMP流注入轻量级RTSP服务模块(内网RTSP网关)

    技术背景今天分享的是外部RTSP或RTMP流,拉取后注入到本地轻量级RTSP服务模块,供内网小并发场景下使用,这里我们叫做内网RTSP网关模块。 内网RTSP网关模块,系内置轻量级RTSP服务模块扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器 内置轻量级RTSP服务模块和内置RTSP网关模块共同点:内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,数据汇聚到内置RTSP服务,对外提供可供拉流的 内置轻量级RTSP服务模块和内置RTSP网关模块不同点:数据来源不同1. 内置轻量级RTSP服务模块,数据源来自摄像头、屏幕、麦克风等编码前数据,或者本地编码后的对接数据;2. 内置RTSP网关模块,实际上是RTSP/RTMP拉流模块+内置轻量级RTSP服务模块组合出来的。

    1.2K20编辑于 2023-05-17
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(1)——Rtsp基本流程

    对于流媒体协议,rtsp协议也是很常见的,接下来我们继续手撕,手撕rtsp协议!本篇我们首先来简单了解一下rtsp协议并对其连接过程做一个概览! 2 rtsp基本交互过程 假设我们现在要向一个RTSP的sever发送请求获取数据,基本流程如下: ? OPTIONS C--->S 客户端向服务器端发现OPTIONS,请求可用的方法。 S--->C 服务器端回复客户端,消息中包含当前可用的方法。 DESCRIBE C--->S 客户端向服务器请求媒体描述文件,一般通过rtsp开头的url来发起请求,格式为sdp。 S--->C 服务器回复客户端sdp文件,该文件告诉客户端服务器有哪些音视频流,有什么属性,如编解码器信息,帧率等。 TEARDOWN C---->S 结束播放的时候,客户端向服务器端发起结束请求 S--->C 服务端收到消息后,向客户端发送200 OK,之后断开连接 上述的流程基本涵盖了RTSP的流程,当然,RTSP

    12.3K53发布于 2020-10-10
  • 来自专栏技术杂记

    日志服务器2

    [ OK ] [root@h105 log]# chkconfig httpd --list httpd 0:off 1:off 2: root@h105 log]# chkconfig httpd on [root@h105 log]# chkconfig httpd --list httpd 0:off 1:off 2: warning: Percona-Server-client-56-5.6.27-rel76.0.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a ########## [100%] 1:Percona-Server-shared-5########################################### [ 25%] 2:

    1.3K20发布于 2021-10-19
  • 来自专栏RTSP/RTMP直播相关

    RTSP协议探究和RTSP播放器技术实现

    二、协议特性有状态协议:与HTTP的无状态特性不同,RTSP是一个有状态的协议,服务器需要维护关于客户端会话的状态信息。可扩展性:RTSP支持新方法和参数的添加,具有良好的可扩展性。 多服务器兼容:呈现中的各个媒体流可以分布在不同服务器上,客户端会自动与不同服务器建立多个并行的控制会话。 媒体描述:RTSP支持通过DESCRIBE方法从服务器获取媒体流的描述信息,通常使用SDP(Session Description Protocol)格式。 这些方法用于实现不同的功能,如查询服务器支持的方法、获取媒体描述、建立会话、控制媒体播放等。响应状态码:RTSP的响应状态码与HTTP类似,用于表示请求的成功或失败。 六、应用场景实时流媒体传输:RTSP广泛应用于实时流媒体传输场景,如视频会议、网络摄像头直播、视频点播系统等。远程控制:RTSP允许客户端远程控制媒体服务器上的流媒体播放,提供了灵活的媒体控制功能。

    1.7K10编辑于 2024-08-08
  • 来自专栏EasyNVR

    视频直播点播流媒体服务器是否可以对接RTSP视频流?

    一般来说我们默认视频直播/点播服务器是使用RTMP推流播放视频的,但是实际上RTSP流也是可以对接到其中的,只是我们使用的机会和频率并不算多,所以这个功能的介绍一直都比较少,知道的人也不多。 刚好今天有开发者在咨询如何将摄像机的RTSP流对接到我们视频直播点播服务器中去做分发,趁这个机会我就把这个过程梳理一下。下面我们看下具体是怎么实现的。 1、先准备一个支持RTSP协议的摄像机,如下图 ? 2、我们先起一个视频流媒体直播点播服务,启动。 ? 3、在这里的WEB页面里面进行配置。在直播服务->虚拟直播->创建直播 创建一个虚拟直播。

    1.9K30发布于 2020-05-20
  • 来自专栏RTSP/RTMP直播相关

    轻量级RTSP服务和内置RTSP网关的区别

    本文就以上问题,做个简单的介绍: 轻量级RTSP服务 为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK(Github)在推送端发布了轻量级RTSP服务SDK: 简单来说 设计架构图如下: 内网RTSP网关 内网RTSP网关模块,系内置轻量级RTSP服务模块扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP 服务获取公网数据,无需部署单独的服务器,支持RTSP/RTMP H.265数据接入。 设计架构图如下: 二者区别和联系 内置轻量级RTSP服务模块和内置RTSP网关模块共同点: 内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务 内置轻量级RTSP服务模块和内置RTSP网关模块不同点:数据来源不同 1. 内置轻量级RTSP服务模块,数据源来自摄像头、屏幕、麦克风等编码前数据,或者本地编码后的对接数据; 2.

    1.4K30发布于 2020-11-09
  • 来自专栏全栈程序员必看

    RTSP协议学习笔记

    一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。 RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不同的协议标识符,RTSPrtsp 1.0,HTTP为http 1.1; 2. RTSP服务器可以为这些容器文件提供集合控制。 4. RTSP会话(RTSP session ): RTSP交互的全过程。 , PLAY, PAUSE 2. 2.

    1.5K30编辑于 2022-11-01
  • 来自专栏TSINGSEE青犀视频

    EasyCVR集群版本添加RTSP设备提示服务器ID错误,该如何解决?

    有用户反馈在现场测试的过程中添加RTSP协议的设备时,出现提示服务器ID错误的报错,导致无法正常将设备添加进去。经过排查我们发现,原来是现场在切换版本时,导入数据文件不全,因此出现该问题。 后台在页面中也可以看到有如下报错:进一步排查,是数据库缺少字段,子集群版本中需要配置server id的字段到数据库,如果没有配置,就会出现设备找不到对应的服务器,在播放时,就会出现上述问题。

    87620编辑于 2022-07-06
领券