首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构师高级俱乐部

    rtsp流媒体简单实践

    服务器 rtsp服务器通过ffmpeg推流拉流 RTSP服务器: GO开发的rtsp-simple-server,支持多系统版本C++ 开发的srs,Bee 版本是一个简单高效的实时视频服务器,支持RTMP RTSP C# nugetRtspClientSharp rtsp格式 默认rtsp://192.168.8.100/Streaming/Channels/101? /rtsp-simple-server docker: 需要将ffmpeg打包到镜像中 Dockerfile FROM aler9/rtsp-simple-server AS rtsp FROM alpine :3.12 RUN apk add --no-cache ffmpeg COPY --from=rtsp /rtsp-simple-server / COPY --from=rtsp /rtsp-simple-server.yml -b:v 600k -max_muxing_queue_size 1024 -g 30 -f rtsp rtsp://localhost:$RTSP_PORT/compressed 示例:https:

    3.2K20编辑于 2022-09-01
  • 来自专栏CS学习笔记

    流媒体传输协议之RTSP协议

    rtsp实时流协议 1、rtsp协议用于控制具有实时性的数据(例如多媒体流) 的传送,对媒体流提供了诸如开始、暂停、快进等控制功能。 2、它本身并不传输数据。 rtsp协议默认使用554端口,http使用80端口。 RTSP的请求服务器和客户端都可以发送,而HTTP请求则只能由客户端发送 rtsp协议的工作原理 RTSP中所有的操作都是通过服务器和客户端的消息应答机制完成的,其中消息包括请求(request 请求信息主要包括流媒体传输的初始化信息 Transport: Transport字段包含客户端可以接受的传输选项列表,包括传输协议,地址端口等。服务器端也通过这个头字段返回实际选择的具体选项。 目前使用情况 live555提供了RTSP流媒体服务器的一个开源解决方案。

    3.2K20编辑于 2022-03-07
  • 来自专栏machh的专栏

    流媒体传输协议详解之---RTSP认证

    这两天有好几个人问我关于RTSP鉴权认证的问题,特意整理总结了一下,分享给大家。以下内容均通过实际代码进行了测试验证。 RTSP认证方式主要有两种: 基本认证(basic authentication)和摘要认证( digest authentication)。 ://192.168.1.55:554/11 RTSP/1.0\r\n CSeq: 1\r\n Accept: application/sdp\r\n User-agent: Realplayer\r\ n\r\n 2)RTSP服务端认为没有通过认证,发出WWW-Authenticate认证响应 RTSP/1.0 401 Unauthorized\r\n CSeq: 1\r\n WWW-Authenticate Basic 认证,按如下方式处理 3)客户端携带Authorization串再次发出DESCRIBE请求 DESCRIBE rtsp://192.168.1.55:554/11 RTSP/1.0\r\

    4.1K10编辑于 2022-06-10
  • 来自专栏linux驱动个人学习

    网络流媒体协议之——RTSP协议

    RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。 RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须依赖下层传输协议(如RTP/RTCP) 所提供的服务来完成流媒体数据的传送。 首先客户端连接到流媒体服务器并发送一个RTSP描述请求(DESCRIBE request),服务器通过一个SDP(Session DescriptionProtocol)描述来进行反馈(DESCRIBEresponse 最后,客户端可发送一个终止请求(TEARDOWN request)来结束流媒体会话。

    3.3K00发布于 2019-07-11
  • 来自专栏网络技术联盟站

    秒懂流媒体协议 RTMP 与 RTSP

    RTMP 与 RTSP 是比较常见的两种流媒体协议,那么什么是RTMP?什么是RTSP?它们两之间有什么区别?使用的时候应该如何选择? 今天瑞哥就用人话好好和大家聊聊,如果觉得对您有帮助,可以收藏。 TOC 什么是流媒体协议? 流媒体协议,英文学名Streaming Protocol,用一句人话来解释:流媒体协议是一种用于通过 Web 传递多媒体的协议。 [20220523175750.png] 流媒体协议有很多,主要分为三大类: 传统视频流协议 基于 HTTP 的自适应协议 新技术 传统视频流协议 传统视频流协议主要有: RTMP RTSP 基于 HTTP IP 摄像机、物联网设备,那么选择 RTSP准不会错 [20220523175157.png] 第三方流媒体应用,那么选择RTMP准不会错 [20220523175237.png] 总结 本文主要介绍了流媒体协议 、TCP与UDP协议、RTMP与RTSP协议,RTMP 和 RTSP 流媒体协议都有各自的优势。

    3.3K00编辑于 2022-05-24
  • 来自专栏智媒黑板报

    流媒体传输协议:RTMP、HLS和RTSP介绍

    问题背景: 流媒体传输协议经过几十年的发展,越来越丰富。 近期的SRT、DASH、QUIC等都已经在实际中有所应用,但是这些协议里面应用最成熟,最广的协议还是RTSP/RTP/RTCP、HLS和RTMP协议。 同时这些协议背后解决的问题和设计思想大同小异,所以作为流媒体入门可以从这些协议入手,进行学习和实践。同时这些协议的资料丰富,实验环境也容易搭建。 近期给身边同学分享这块内容时,写了点PPT介绍了下这些协议最基础和最重要的部分,共享出来作为大家学习阅读参考,同时也算流媒体传输协议系列的第一篇文章,后面不定期会就里面内容详细分享。 rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov http://devimages.apple.com/iphone/samples/bipbop

    2.2K40发布于 2020-11-12
  • 来自专栏全栈程序员必看

    最近做RTSP流媒体的实时广播节目

    //h264视频流打包代码 // NALDecoder.cpp : Defines the entry point for the console application. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <memory.h> #include “h264.h” #include “initsock.h” CInitSock initSock;  // 初始化Winsock库 //为NALU_t结构体分配内存空间 NALU_t *AllocNALU(int buffersize) {  NALU_t *pNalu;  if ((pNalu = (NALU_t*)calloc (1, sizeof (NALU_t))) == NULL) {   printf(“AllocNALU: Nalu”);   exit(0);  }  pNalu->max_size=buffersize;  if ((pNalu->buf = (char*)calloc (buffersize, sizeof (char))) == NULL) {   free (pNalu);   printf (“AllocNALU: Nalu->buf”);   exit(0);  }  return pNalu; } //释放 void FreeNALU(NALU_t *pNalu) {  if (pNalu) {   if (pNalu->buf) {    free(pNalu->buf);    pNalu->buf=NULL;   }   free (pNalu);  } } static int FindStartCode2 (unsigned char *Buf) {  if(Buf[0]!=0 Buf[1]!=0 Buf[2] !=1) return 0; //推断是否为0x000001,假设是返回1  else return 1; } static int FindStartCode3 (unsigned char *Buf) {  if(Buf[0]!=0 Buf[1]!=0 Buf[2] !=0 Buf[3] !=1) return 0;//推断是否为0x00000001,假设是返回1  else return 1; } // 这个函数输入为一个NAL结构体。主要功能为得到一个完整的NALU并保存在NALU_t的buf中,获取他的长度。填充F,IDC,TYPE位。 // 而且返回两个開始字符之间间隔的字节数,即包括有前缀的NALU的长度 int GetAnnexbNALU (NALU_t *pNalu, FILE *bits) {  int info2=0, info3=0;  int pos = 0;  int StartCodeFound, rewind;  unsigned char *Buf;  if ((Buf = (unsigned char*)calloc (pNalu->max_size , sizeof(char))) == NULL)   printf (“GetAnnexbNALU: Could not allocate Buf memory\n”);  if (3 != fread (Buf, 1, 3, bits)) {  //从码流中读3个字节   free(Buf);   return -1;     }  if (Buf[0]!=0 Buf[1]!=0) {   free(Buf);   return -1;  }  if (Buf[2]==1) {   pNalu->startcodeprefix_len=3;   //初始化码流序列的開始字符为3个字节   pos =3;  }else {   if (1 != fread (Buf+3, 1, 1, bits)) {  //从码流中读1个字节    free(Buf);    return -1;   }   if (Buf[2]!=0 Buf[3]!=1) {    free(Buf);    return -1;   }   pos = 4;   pNalu->startcodeprefix_len = 4;  }  //查找下一个開始字符的标志位  StartCodeFound = 0;  info2 = 0;  info3 = 0;     while (!StartCodeFound)  {   if (feof (bits)) { //推断是否到了文件尾    break;   }   Buf[pos++] = fgetc (bits);//读一个字节到BUF中   info3 = FindStartCod

    52410编辑于 2022-07-06
  • 来自专栏音视频进阶之旅

    音视频开发(一)-流媒体数据传输RTSP

    针对音视频数据量大的特点,有一套专门的网络传输协议RTP/RTSP,它的运行流程是这样的: RTSP RTSP(Real Time Streaming Protocol)是一款网络控制协议,用来控制流媒体服务器的 play表示服务开始向请求端发送流媒体数据,pause表示停止。先贴上一篇文章,非常详细的讲解了rtsp的操作,没接触过的童鞋可以了解一些。 以下是客户端同流媒体服务器交互的完整示例,采用WireShark抓包(192.168.0.107->客户端,192.168.0.103->服务端,图片在网页上显示过小,需要保存到本地看): 图书中第二部分为 当PLAY命令发送后,就进入了第三部分RTP协议传输的流媒体数据包。 资料领取直通车:音视频开发&流媒体服务器资料文档+视频教程 音视频学习直通车:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发 简单的rtsp交互过程:(C表示rtsp客户端

    1.2K30编辑于 2022-09-24
  • 来自专栏EasyNVR

    RTSP协议视频流媒体播放器EasyPlayer-RTSP-OCX接口文档API接口函数定义

    视频流媒体服务器在安防、互联网、教育、录播、IPTV等多个领域实现了广泛应用,EasyPlayer是一款精炼、高效、稳定的流媒体播放器,其中EasyPlayerPro已经实现了H265编码视频的播放。 EasyPlayer还有RTSP版本,能够集成到各平台进行视频播放,接口调用比较简单,本文就为大家介绍一下EasyPlayer-RTSP的接口函数定义。 ? char *password, int bHardDecode, MediaSourceCallBack callback=NULL, void *userPtr=NULL) ; 参数说明: szURL:RTSP

    98210发布于 2020-07-26
  • 来自专栏EasyNVR

    如何使用流媒体接入网关实现拉RTSP流转推RTMP流到流媒体服务器?

    我们团队有一款完善的流媒体接入软件网关EasyRTMPLive,即软件编码器,可以实现将RTSP、RTMP、HTTP、HLS等各种各样的网络流媒体先拉取到本地,进行转换,再以标准RTMP/flv协议的方式推流到 RTMP流媒体服务器、CDN等,进行直播分发,适用于各种安防、互联网、工业视频的互联网直播应用场景。 使用这款网关的用户需求不外乎将RTSP视频流转推RTMP流,所以本文我们就为大家介绍一下如何使用这款网关来进行RTSP流转RTMP流。 这样RTSP流转RTMP流就完成了,播放的就是RTMP视频流。

    1.6K20发布于 2020-07-09
  • 来自专栏EasyNVR

    RTSP协议网络摄像头互联网直播开源流媒体平台

    EasyDarwin是基于Darwin Streaming Server扩展、维护的开源流媒体服务器解决方案,经过TSINGSEE青犀视频团队近10年的维护,现在已经非常稳定。 最近在研究EasyDarwin做拉流分发的时候,忽然想到是否可以用FFMPEG实现拉RTSP流然后推给EasyDarwin,如果可以的话,那么FFMPEG拉过来的RTSP流就可以在处理之后推给EasyDarwin 如何用FFMPEG拉RTSP流推给EasyDarwin做公网分发 1.首先需要下载FFMPEG。我下载的是下面的版本,如图所示: ? 查看版本: ? 2.利用FFMPEG拉转推RTSP的命令: ffmpeg.exe -i rtsp://admin:a1234567@192.168.10.213:554/Streaming/Channels/101 - vcodec libx264 -acodec libvo_aacenc -rtsp_transport tcp -f rtsp rtsp://192.168.99.148/test.sdp 如下图所示

    1.9K20发布于 2020-08-21
  • 来自专栏EasyNVR

    视频流媒体平台可以使用ffmpeg拉取rtsp视频流快照吗?

    任何的影音传播都需要通过流媒体服务器来实现,现在的安防监控直播也让视频流媒体服务器大放异彩了。比如我们的流媒体服务器EasyNVR就能够适应多种场景,搭建视频流媒体服务器。 ? 我们的流媒体服务器能够对接大华、海康、宇视等支持RTSP协议的摄像头,输入RTSP视频流,输出RTMP、HLS、FLV等格式的视频流。 当然,我们也支持使用ffmpeg拉取rtsp视频流或者视频流的快照。 在我们测试时,使用ffmpeg拉取rtsp视频流快照时,大华流地址获取快照异常: rtsp://admin:admin123@192.168.99.100:554/cam/realmonitor? 修改后的指令 ffmpeg.exe -rtsp_transport tcp -hide_banner -i rtsp://admin:admin123@192.168.99.100:554/cam/realmonitor

    2.2K20发布于 2020-06-04
  • 来自专栏海之滨云视频和流媒体技术

    Android流媒体开发之路三:基于NDK开发Android平台RTSP播放器

    基于NDK开发Android平台RTSP播放器 最近做了不少android端的开发,有推流、播放、直播、对讲等各种应用,做了RTMP、RTSP、HTTP-FLV、自定义等各种协议,还是有不少收获和心得的 我这边做,核心模块和核心代码部分,都是基于NDK,用C++开发的,然后将so动态库,在Android java环境中使用,这个既能保证核心部分的代码性能,也能最大程度复用之前写的流媒体相关的大量代码,实践证明 逻辑思路首先,既然是RTSP播放器,那必然要做RTSP的解析,这部分对我来说已经是非常熟悉了。 我常用的RTSP解析代码,一般是基于Live555和FFMpeg的库,通过调用相关的接口,来实现RTSP客户端协议的数据接收,然后再做数据分析。 除非是整套都是自己做的RTSP服务器和RTSP客户端,否则我一般都是用他们两个,为的是最大程度的兼容第三方RTSP服务器,比如各种网络摄像头、各种设备、以及其他公司自己写的RTSP server等等,具体就不说了

    3.2K20编辑于 2023-04-06
  • 来自专栏EasyNVR

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

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

    1.9K30发布于 2020-05-20
  • 来自专栏EasyNVR

    RTSP流媒体协议视频平台EasyNVR视频广场快照不更新如何排查?

    RTSP协议视频平台EasyNVR的视频广场是显示快照的地方,能够直观展示视频直播的状态。

    54732发布于 2020-10-10
  • 来自专栏EasyNVR

    RTSP协议视频智能流媒体服务平台EasyNVR录像计划功能实现过程

    之前的博文中我们和大家讲过EasyNVR的录像计划的实现方式,大家可以简单了解一下操作方式:EasyNVR边缘计算网关录像计划功能操作介绍。关于EasyNVR录像计划的实现,TSINGSEE青犀视频的研发人员也耗费了不少心思,下面我们就讲一下是是如何实现的。

    43220发布于 2020-11-13
  • 来自专栏EasyNVR

    视频云平台流媒体服务EasyNVR能获取直播视频的RTSP流地址吗?

    上次我碰到一个用户,问我们的流媒体服务器能不能输出RTSP的流,并对外分享。 我们旧版EasyNVR是不支持分发RTSP视频流的,但是在更新的时候,我们将分发RTSP流列进了我们的升级项,所以在版本更新后的EasyNVR已经支持分发RTSP视频流了。 之前我们也介绍过EasyNVR如何获取FLV直播流分享,当然跟获取RTSP直播流的方法是不一样的,下面大家可以看一下具体操作。 如何获取EasyNVR分发的RTSP流地址? 添加代码如下,如果需要可以自行复制进去: rtsp on; rtsp_port 1554; rtsp_auth off; rtsp_user admin; rtsp_pwd 12345; 最后就可以通过接口的方式获取 channel=通道号&protocol=RTSP 得到“URL”后的地址,就是输出的RTSP流地址了。 示例: ? ?

    2.4K30发布于 2020-07-20
  • 来自专栏EasyNVR

    流媒体服务器如何在浏览器播放RTSP格式的视频流?

    一般海康威视摄像头的视频流采用的RTSP协议的视频流,但是html5支持的是RTMP,所以RTSP协议的视频流无法直接在web页面上面显示。 我们的EasyNVR流媒体服务器是支持RTSP协议和RTMP协议输出的视频流,下面我们来看一下流媒体服务器如何在浏览器播放RTSP格式的视频流。 ? 先来说一说RTSP协议的一些特点: (1)是流媒体协议。 (2)RTSP协议是共有协议,并有专门机构做维护。 (3)RTSP协议一般传输的是 ts、mp4 格式的流。 (4)RTSP传输一般需要 2-3 个通道,命令和数据通道分离。以上是我在网上搜到的一些RTSP协议的特点。下面就来说一说我要做的工作。 VLC实现播放RTSP格式的视频流非常简单,只要安装了VLC的插件或者安装了VLC的播放器就可以了,VLC播放器和插件我也都放在了GitHub上面,下面会有链接。

    2.3K20发布于 2020-04-23
  • 来自专栏嵌入式项目开发

    FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)

    环境介绍 当前使用的操作系统: win10 64位 一、部署EasyDarwin服务器 据官网介绍,EasyDarwin拥有完整的源代码,可以帮助开发者更快更简单实现流媒体音视频产品功能,使用完全免费 -桌面系统文档类资源-CSDN下载windows系统下搭建RTSP流媒体服务器很好用的框架,可以拉流和收流。 接下来使用VLC、PotPlayer、或者自己编写一个流媒体播放器就可以拉取ffmpeg发布的RTSP流。 -f rtsp rtsp://127.0.0.1:554/stream 播放测试: 三、采用ffmpeg代码方式推rtsp流到服务器 对于RTMP和RTSP两种格式需要使用两种不同的封装器。 ,可以参考这里: QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)_DS小龙哥的专栏-CSDN博客一、环境介绍操作系统:win10 64位QT版本:QT5.12.6编译器:MinGW

    2.9K30编辑于 2022-01-12
  • 来自专栏EasyNVR

    视频流媒体服务器EasyNVR支持的RTSP协议属于哪一层?

    RTSP被用于建立控制媒体流的传输,我们的流媒体服务器根据不同的传输协议分为不同的产品,支持RTSP传输的产品就是EasyNVR,实现流媒体协议转换、转码和流媒体分发工作,最终可以分发出RTSP、RTMP 作为一个应用层协议,RTSP提供了一个可供扩展的框架,它的意义在于使得实时流媒体数据的受控和点播变得可能。RTSP在制定时较多地参考了HTTP/1.1协议,甚至许多描述与HTTP/1.1完全相同。 RTSP之所以特意使用与HTTP/1.1类似的语法和操作,在很大程度上是为了兼容现有的Web基础结构,正因如此,HTTP/1.1的扩展机制大都可以直接引入到RTSP中。 由RTSP控制的媒体流集合可以用表示描述(Presentation Description)来定义,所谓表示是指流媒体服务器提供给客户端的一个或者多个媒体流的集合,而表示描述则包含了一个表示中各个媒体流的相关信息 我们的流媒体服务器EasyNVR基于RTSP协议,实现了让用户随时随地想看就看的目的,不拘泥、不受限于摄像机的品牌厂商及其配套平台,只要是网络监控摄像机IPC、硬盘录像机NVR、且设备支持标准的RTSP

    74520发布于 2020-07-31
领券