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

    手撕RTSP协议系列(7)——PLAY

    RTSP URI表明请求的RTSP 地址; RTSP version表明版本号; CSeq 表示请求的序列号; User-Agent表示用户代理; Session 表示会话id,值为SETUP请求之后, 同样,客户端发送PLAY请求之后,服务端会回复RTSP消息,常见的回复字段格式如下: ? Rtsp Version表示RTSP的版本; 状态码表示当前消息的状态,没有异常的情况下一般为200; 状态描述是针对状态码的描述,如200对应的描述为OK; CSeq表示RTSP包的序号; Session PLAY 案例 好了,最后放上一个实例: RTSP PLAY (requst) PLAY rtsp://192.17.1.63:554/ RTSP/1.0\r\n Range: npt=0.000-\r ://192.17.1.63:554/", response="9ea6c2659d3bce8d129ca3549ecc7fbf"\r\n\r\n RTSP PLAY (response) RTSP/1.0

    2.9K51发布于 2020-10-30
  • 来自专栏txp玩Linux

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

    好了,今天给大家分享的是rtsp系列专题的第一个开篇:rtsp服务器搭建! rtsp服务器搭建: 今天我们搭建这个rtsp服务器的名称叫做:ZLMediaKit,它是一个基于C++11的高性能运营级流媒体服务框架,类似我之前给大家搭建的rtmp服务器(srs流媒体服务器),当然它两者肯定是有区别的 wiki教程中有详细的介绍: https://github.com/xia-chu/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B 1、获取代码 测试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的使用需要较多的环境依赖,一下安装都是编译依赖相关内容。 服务器 RTSPServer* rtspServer = RTSPServer::createNew(*env, port); if (rtspServer == nullptr) { /RTSPServer -i 0 播放视频: 使用播放工具mplayer 安装播放工具: sudo apt install mplayer 播放rtsp地址: mplayer rtsp://127.0.1.1

    4.5K20编辑于 2022-11-01
  • 来自专栏全栈程序员必看

    centos7上通过nginx+ffmpeg搭建rtsp直播流转rtmp视频服务器

    准备: 操作系统:CentOS 7 Web服务器:Nginx 版本控制器:Git 搭建: 大部分视频直播平台使用的协议都是RTMP,Nginx也有RTMP的扩展模块,所以我也选用RTMP进行服务器的搭建 4.启动Nginx {Nginx安装路径}/sbin/nginx -c {Nginx安装路径}/conf/nginx.conf 使用浏览器访问服务器,如果出现以下画面表示Nginx成功启动。

    1.6K20编辑于 2022-08-05
  • 来自专栏呱牛笔记

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

    服务器来完成,rtsp服务器选用ZLMediaKit; Freeswitch的配置: <action application=\"set\" data=\"execute_on_answer=record_session $destination_number." \"/> Freeswitch录制时的函数栈和转流到rtsp服务器的日志: #0  av_file_open (handle=0x7f955c0831a0,  =0x7f95780942b8 "192.168.16.83/live/4444_4002", file_path@entry=0x7f955c083178 "rtsp://192.168.16.83/ 最后合成一个mp4文件,只录一端,一端的视频,加上两端的音频混合一起录制; 下一步,修改mod_av,实现freeswitch推流给rtsp服务器,由rtsp服务器实现录制和点播功能! ----更新:20221008--- 会议如何录制到rtsp,只需要简单配置录制地址到rtsp服务器就可以!

    3.8K10编辑于 2023-05-02
  • 来自专栏技术杂记

    日志服务器7

    * uucp,news.crit /var/log/spooler local7. * uucp,news.crit /var/log/spooler local7. # diff /tmp/before /tmp/after 11a12 > *.* @192.168.100.105 [root@h202 ~]# 增加了一条,将本地的日志记录到远程的服务器

    1.3K20发布于 2021-10-20
  • 不用服务器转码,Web端如何播放RTSP视频流?

    传统方案中,开发者需依赖服务器端转码(如将RTSP转为HLS、RTMP或WebRTC),通过中间层技术适配浏览器兼容性。这一模式虽能勉强实现播放,却带来了高昂的隐性成本与性能损耗。 猿大师播放器:颠覆传统,定义Web端RTSP直播新标准‌面对行业痛点,猿大师播放器以‌“零转码、低延迟、全兼容”‌为核心突破点,实现RTSP流在Web端的原生级播放体验,彻底告别服务器转码的枷锁。 原生RTSP协议直连,无需服务器转码彻底摒弃传统转码方案,直接在网页端播放RTSP流,减少中间环节,避免因转码导致的服务器资源消耗与带宽浪费。 全浏览器兼容,无惧版本升级支持Chrome、Edge、Firefox等高版本浏览器(含Chrome 41+、Edge 80+),兼容Windows 7及以上系统,解决浏览器停用NPAPI插件后的行业痛点 协议与编码全覆盖,适配复杂场景支持RTSP、RTMP、HLS、HTTP等主流流媒体协议,兼容H.265、H.264、MPEG-4等编码格式,可应对隧道、高架桥等复杂网络环境下的视频传输需求。7.

    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 NAL unit header is       reprinted below:                +---------------+           |0|1|2|3|4|5|6|7| NRI, Type :", fb, nri, typ       #print "first three bits together :",bt[bc:bc+3]            if (typ==7  here:         # http://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set/         if (typ==7) .com/  https://github.com/odie5533/Python-RTSP

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

    RTSP协议

    RTSP对流媒体提供诸如暂停、快进等控制,而它本身并不传输数据。RTSP的作用相当于流媒体服务器的远程控制。 主要方法 方法说明: 1)OPTION 得到服务器提供的可用方法 OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 CSeq: 1 //每个消息都有序号来标记 服务器回应信息: RTSP/1.0 200 OK Server: UServer 0.9.7_rc1 Cseq: 3 Session: 6310936469860791894 //服务器回应的会话标识符 : 5 Session: 6310936469860791894 7RTSP状态码 Status-Code = "100" ; Continue | "200" ; OK | "201" ; Created 媒体协商这一块要用RTSP来实现。 下面是一个helix流媒体服务器RTSP协议中的SDP协议: v=0 //SDP version // o field定义的源的一些信息。

    5.7K40编辑于 2022-09-06
  • 来自专栏用户1692782的专栏

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

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

    4.6K52发布于 2020-10-10
  • 来自专栏转载gongluck的CSDN博客

    FFmpeg菜鸡互啄#第7篇#文件rtsp推流到rtmp

    关键步骤 avformat_open_input//打开输入文件/rtsp avformat_find_stream_info////获取音视频流信息 avformat_alloc_output_context2 \n", buf); return res; } int main(int argc, char* argv[]) { char* inUrl = "rtsp://184.72.239.149 avformat_network_init(); int res = 0; //打开文件,解封装文件头 //输入封装上下文 AVFormatContext* ictx = NULL; //设置rtsp = 0) break; if(pkt.size <= 0)//读取rtsp时pkt.size可能会等于0 continue;

    3.5K93发布于 2018-03-08
  • 来自专栏全栈程序员必看

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

    从摄像机获取的RTSP视频流直接在浏览器中播放,这里采用vlc插件进行播放,设置步骤如下 1、下载32位的vlc播放器,安装时选择安装插件,安装路径不要有空格,注意64位播放器安装上也不能正常播放 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描述来进行反馈,反馈信息包括流数量、媒体类型等信息。 客户端在分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP), RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。 HTTP是无状态的协议,而RTSP为每个会话保持状态; 3. RTSP协议的客户端和服务器端都可以发送Request请求,而在HTTPF协议中,只有客户端能发送Request请求。 4. RTSP服务器可以为这些容器文件提供集合控制。 4. RTSP会话(RTSP session ): RTSP交互的全过程。 OPTIONS: 用于得到服务器提供的可用方法; 如: OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 CSeq: 1 服务器的回应信息会在

    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 URL,适用于内网环境下,对并发要求不高的场景,支持H.264/H.265,支持RTSP鉴权、单播、组播模式,考虑到单个服务承载能力,我们支持同时创建多个RTSP服务,并支持获取当前RTSP服务会话连接数 内置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
  • 来自专栏Django Scrapy

    Centos 7下 FTP 服务器

    并且重点讲解了在Centos7 下VsFTP服务器的架构及详细配置设置。 用户可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。 一般情况下使用主动模式,由FTP客户端发起到FTP服务器的控制连接,FTP服务器接收到数据请求命令后,再由FTP服务器发起客户端的连接。 被动模式实际上是一种服务器管理,FTP客户端发出Pasv命令后,FTP服务器通过一个用作数据传输(连接)的服务器动态端口进行响应,当客户端发出数据连接命令后,FTP服务器便立即使用动态端口连接客户端。 3.登录和访问FTP服务器的方式 FTP服务器启动并创建好FTP账户后,登录和访问FTP服务器有2种方式: (1)在Linux的文本模式,利用“ftp 服务器IP地址”命令,以文本方式通过ftp命令来连接和访问

    3.6K90发布于 2018-04-12
  • 来自专栏开源部署

    CentOS 7 DNS服务器架设

    CentOS 7 DNS服务器部署 项目背景和要求 要保证即能够解析内网域名linuxidc.local的解析,又能解析互联网的域名。 主DNS服务器:ZZYH1.LINUXIDC.LOCAL 辅助DNS服务器:ZZYH2.LINUXIDC.LOCAL 包含以下域的信息: 1、linuxidc.local域的信息: FQDN IP地址 备注 zzyh1.linuxidc.local 192.168.188.15 DNS1服务器 zzyh2.linuxidc.local 192.168.188.16 DNS2服务器 ftp.linuxidc.local Tip: 与Windows在某个网卡中设置DNS服务器的IP地址类似 # vi/etc/sysconfig/network-scripts/ifcfg-eno16777728 # Generated by 3/3 Installed:  bind.x86_64 32:9.9.4-14.el7        bind-chroot.x86_64 32:9.9.4-14.el7 Dependency Installed

    4K20编辑于 2022-07-03
  • 来自专栏yuezhimi

    centos7-httpd服务器

    Apache WEB服务器入门简介: Apache HTTP Server是Apache软件基金会的一个开源的网页服务器,可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是目前最流行的 Web服务器端软件之一。 Apache服务器是一个多模块化的服务器,Apache取自“A  Patchy Server”的读音,即充满补丁的服务器,因为Apache基于GPL发布,大量开发者不断为Apache贡献新的代码、功能、 Apache WEB服务器有三种处理模块:Prefork MPM、Worker MPM、Event MPM。 通常而言,几乎所有的WEB服务器均可以支持URL重写。

    1.2K30发布于 2020-09-30
  • 来自专栏ops技术分享

    服务器安装Centos7

    一.安装 1.开启虚拟机后会出现以下界面 Install CentOS 7 安装CentOS 7 Test this media & install CentOS 7 测试安装文件并安装CentOS 7 Troubleshooting 修复故障 2.选择第一项,安装直接CentOS 7,回车,进入下面的界面 3.选择安装过程中使用的语言,这里选择英文、键盘选择美式键盘。 然后点击Done 6.选择需要安装的软件 7.选择 Server with Gui,然后点击Done 8.选择安装位置,在这里可以进行磁盘划分。

    3.8K00发布于 2021-05-30
领券