网络-RTSP简单理解

RTSP over TCP部分浅谈 RTSP Over Tcp-RFC2326 这周因为工作上的需要,查看了一些有关RTSP的一些知识,看的不算深,对RTSP也就算是初识吧,很多东西也是在摸索中学习,因为意外翻看了下rfc中的部分说明,加上对tcp的一点了解,又看到网上对这个的说明不是很多,所以想把这点记录一下,也算日后翻看有个参照吧。先贴一段rfc的原文。 If a reliable transport protoco 阅读详情

网络上有很多介绍RTSP的文章,但是看后还是印象不深刻,这里就记录一下读学习笔记吧。

1.协议介绍

RTSP协议以CS的方式工作,它是一个应用层的多媒体播放控制协议,用来使用户在播放从互联网下载的实时数据时能够对其进行控制,如暂停、继续、快进、快退等
RTSP的语法和操作与HTTP相似了,所有请求和响应都是基于ASCII文本。不同的是RTSP是有状态的协议,而HTTP是无状态的。RTSP记录客户端的状态,如是播放还是暂停等。RTSP没有规定音视频的压缩方法,这个都是开发人自己选择的,只要客户端和服务端能够统一好就行。
详细的内容请点击:https://tools.ietf.org/html/rfc2326

2.可用方法

下面词条引用自:https://baike.baidu.com/item/RTSP/1276768?fr=aladdin

方法方向对象要求含义
DESCRIBEC->SP,S推荐检查演示或媒体对象的描述,也允许使用接收头指定用户理解的描述格式。DESCRIBE的答复-响应组成媒体RTSP初始阶段
ANNOUNCEC->SS->CP,S可选当从用户发往服务器时,ANNOUNCE将请求URL识别的演示或媒体对象描述发送给服务器;反之,ANNOUNCE实时更新连接描述。如新媒体流加入演示,整个演示描述再次发送,而不仅仅是附加组件,使组件能被删除
GET_PARAMETERC->SS->CP,S可选GET_PARAMETER请求检查URL指定的演示与媒体的参数值。没有实体体时,GET_PARAMETER也许能用来测试用户与服务器的连通情况
OPTIONSC->SS->CP,S要求可在任意时刻发出OPTIONS请求,如用户打算尝试非标准请求,并不影响服务器状态
PAUSEC->SP,S推荐PAUSE请求引起流发送临时中断。如请求URL命名一个流,仅回放和记录被停止;如请求URL命名一个演示或流组,演示或组中所有当前活动的流发送都停止。恢复回放或记录后,必须维持同步。在SETUP消息中连接头超时参数所指定时段期间被暂停后,尽管服务器可能关闭连接并释放资源,但服务器资源会被预订
PLAYC->SP,S要求PLAY告诉服务器以SETUP指定的机制开始发送数据;直到一些SETUP请求被成功响应,客户端才可发布PLAY请求。PLAY请求将正常播放时间设置在所指定范围的起始处,发送流数据直到范围的结束处。PLAY请求可排成队列,服务器将PLAY请求排成队列,顺序执行
RECORDC->SP,S可选该方法根据演示描述初始化媒体数据记录范围,时标反映开始和结束时间;如没有给出时间范围,使用演示描述提供的开始和结束时间。如连接已经启动,立即开始记录,服务器数据请求URL或其他URL决定是否存储记录的数据;如服务器没有使用URL请求,响应应为201(创建),并包含描述请求状态和参考新资源的实体与位置头。支持现场演示记录的媒体服务器必须支持时钟范围格式,smpte格式没有意义
REDIRECTS->CP,S可选重定向请求通知客户端连接到另一服务器地址。它包含强制头地址,指示客户端发布URL请求;也可能包括参数范围,以指明重定向何时生效。若客户端要继续发送或接收URL媒体,客户端必须对当前连接发送TEARDOWN请求,而对指定主执新连接发送SETUP请求
SETUPC->SS要求对URL的SETUP请求指定用于流媒体的传输机制。客户端对正播放的流发布一个SETUP请求,以改变服务器允许的传输参数。如不允许这样做,响应错误为"455 Method Not Valid In This State”。为了透过防火墙,客户端必须指明传输参数,即使对这些参数没有影响
SET_PARAMETERC->SS->CP,S可选这个方法请求设置演示或URL指定流的参数值。请求仅应包含单个参数,允许客户端决定某个特殊请求为何失败。如请求包含多个参数,所有参数可成功设置,服务器必须只对该请求起作用。服务器必须允许参数可重复设置成同一值,但不让改变参数值。注意:媒体流传输参数必须用SETUP命令设置。将设置传输参数限制为SETUP有利于防火墙。将参数划分成规则排列形式,结果有更多有意义的错误指示
TEARDOWNC->SP,S要求TEARDOWN请求停止给定URL流发送,释放相关资源。如URL是此演示URL,任何RTSP连接标识不再有效。除非全部传输参数是连接描述定义的,SETUP请求必须在连接可再次播放前发布

注:P----演示,S----流,C----用户端,S----服务器端

3.工作流程

下面这个是根据本人抓包分画出的工作流程,这是简单的连接、播放、停止。不过其它的请求也类似,待用的时候查官方想协议查看即可。
在这里插入图片描述

  • 6步骤会返回一个session id给客户端进程
  • 9过程开始传送音视频数据,协议可以运行在UDP、RTP、TCP。在播放过程中可以随时暂停。

注意:OPTIONS 请求用于返回服务端支持的 RTSP方法列表 。也可以定时发送这个请求来保活相关的 RTSP 会话。

4.实例分析

从网上找到一个可以使用rtsp协议播放的大熊兔视频,链接为:rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov

使用ffplay播放该视频 ffplay.exe rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov,效果如下所示:

在这里插入图片描述
这里使用ffplay播放文件时打印出如下日志,可以看到一开始想使用UDP协议的,但是超时,使用TCP传输。

[udp @ 00000219cd8506c0] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[udp @ 00000219cd846d40] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[udp @ 00000219cd875c80] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[udp @ 00000219cd8457c0] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[rtsp @ 00000219cd84d940] UDP timeout, retrying with TCP 0B f=0/0
Input #0, rtsp, from 'rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov':

使用wireshark抓包后获取如下日志,这里把日志分开来分析,并详细分析关键字段的意思。

<1> OPTION

客户可在任意时刻发出OPTIONS请求,OPTION发出后服务器会返回支持的方法

OPTIONS rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov RTSP/1.0
CSeq: 1
User-Agent: Lavf58.20.100

RTSP/1.0 200 OK
CSeq: 1
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECORD, GET_PARAMETER
Supported: play.basic, con.persistent

上面的Supported: play.basic, con.persistent 支持持续的播放服务。

<2> DESCRIBE

DESCRIBE方法根据URL来检索服务器的描述信息,可以根据accept头部来指定描述信息的格式(下面例子就是这样),请求发出后服务器返回对应的格式的描述信息,供客户端使用。需要注意的是服务器返回的数据必须包含所有媒体资源的初始化信息。

1)SDP(Session Description Protocol)
由于这里返回的SDP的数据包,下面简单介绍一下SDP常用字段意思。更详细的可以看官方文档 https://tools.ietf.org/html/rfc4566

      Session description
         v=  (protocol version)
         o=  (originator and session identifier)
         s=  (session name)
         i=* (session information)
         u=* (URI of description)
         e=* (email address)
         p=* (phone number)
         c=* (connection information -- not required if included in
              all media)
         b=* (zero or more bandwidth information lines)
         One or more time descriptions ("t=" and "r=" lines; see below)
         z=* (time zone adjustments)
         k=* (encryption key)
         a=* (zero or more session attribute lines) //其它的session属性行
         Zero or more media descriptions

      Time description
         t=  (time the session is active)
         r=* (zero or more repeat times)

      Media description, if present
         m=  (media name and transport address)
         i=* (media title)
         c=* (connection information -- optional if included at
              session level)
         b=* (zero or more bandwidth information lines)
         k=* (encryption key)
         a=* (zero or more media attribute lines)

2)结合上面SDP数据包格式分析下面实时抓包的数据。

DESCRIBE rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov RTSP/1.0
Accept: application/sdp  //客户端请求时指定sdp格式
CSeq: 2
User-Agent: Lavf58.20.100

RTSP/1.0 200 OK
CSeq: 2
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Expires: Sun, 17 Feb 2019 05:55:05 UTC
Content-Length: 590 //内容长度有590个字节
Content-Base: rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/
Date: Sun, 17 Feb 2019 05:55:05 UTC
Content-Type: application/sdp //返回的数据类型sdp
Session: 1372529946;timeout=60
//下面是协议的内容
v=0
o=- 1372529946 1372529946 IN IP4 184.72.239.149
s=BigBuckBunny_175k.mov
c=IN IP4 184.72.239.149 //连接信息,这里是服务器的ip
t=0 0
a=sdplang:en
a=range:npt=0- 596.458 //数据源的长度是596.458s
a=control:*
m=audio 0 RTP/AVP 96  //m的意思就是media stream ,这里是audio stream使用RTP传输,内容类型是96,96的意思看下面的Payload types 
a=rtpmap:96 mpeg4-generic/48000/2 //48000采样率,通道2
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1190
a=control:trackID=1 //audio的trackID是1
m=video 0 RTP/AVP 97 //m的意思就是media stream ,这里是video stream使用RTP传输,内容类型是97,97的意思看下面的Payload types 
a=rtpmap:97 H264/90000 //H264编码的码流,采样率90000
a=fmtp:97 packetization-mode=1;profile-level-id=42C01E;sprop-parameter-sets=Z0LAHtkDxWhAAAADAEAAAAwDxYuS,aMuMsg==
a=cliprect:0,0,160,240		//窗口属性
a=framesize:97 240-160		//帧格式和帧大小
a=framerate:24.0         	//帧率
a=control:trackID=2 		//这里video的trackID=2

下面就扩展下面2项内容,其它自行看文档查阅吧。

  • trackID:服务器会为每一路流分配一个id,这里上面可以看到声音和视频均分配一个trackID。
  • Payload types:就是传送数据的格式,数据在互联网传输时需要先压缩一下,传送到目的主机后在进行解码。下面是官方描述的一些格式,更详细的可以查看 https://tools.ietf.org/html/rfc1890
      PT         encoding      audio/video    clock rate    channels
                 name          (A/V)          (Hz)          (audio)
      _______________________________________________________________
      0          PCMU          A              8000          1
      1          1016          A              8000          1
      2          G721          A              8000          1
      3          GSM           A              8000          1
      4          unassigned    A              8000          1
      5          DVI4          A              8000          1
      6          DVI4          A              16000         1
      7          LPC           A              8000          1
      8          PCMA          A              8000          1
      9          G722          A              8000          1
      10         L16           A              44100         2
      11         L16           A              44100         1
      12         unassigned    A
      13         unassigned    A
      14         MPA           A              90000        (see text)
      15         G728          A              8000          1
      16--23     unassigned    A
      24         unassigned    V
      25         CelB          V              90000
      26         JPEG          V              90000
      27         unassigned    V
      28         nv            V              90000
      29         unassigned    V
      30         unassigned    V
      31         H261          V              90000
      32         MPV           V              90000
      33         MP2T          AV             90000
      34--71     unassigned    ?
      72--76     reserved      N/A            N/A           N/A
      77--95     unassigned    ?
      96--127    dynamic       ?

<3> SETUP

SETUP方法用于对请求指定流媒体的传输机制,包含端口,是否使用cache。

//音频流的传输机制获取
SETUP rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=1 RTSP/1.0 //traceID=1 这是音频流
Transport: RTP/AVP/UDP;unicast;client_port=26952-26953 //音频流端口号
CSeq: 3
User-Agent: Lavf58.20.100
Session: 1372529946

RTSP/1.0 200 OK
CSeq: 3
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Expires: Sun, 17 Feb 2019 05:55:05 UTC
Transport: RTP/AVP/UDP;unicast;client_port=26952-26953;source=184.72.239.149;server_port=12860-12861;ssrc=07C68CF2
//服务器返回客户端端口号已经对应的服务端口号。
Date: Sun, 17 Feb 2019 05:55:05 UTC
Session: 1372529946;timeout=60

//视频流的传输机制获取
SETUP rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=2 RTSP/1.0 //traceID=2 这是视频流
Transport: RTP/AVP/UDP;unicast;client_port=26954-26955 //视频流端口号
CSeq: 4
User-Agent: Lavf58.20.100
Session: 1372529946

RTSP/1.0 200 OK
CSeq: 4
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Expires: Sun, 17 Feb 2019 05:55:06 UTC
Transport: RTP/AVP/UDP;unicast;client_port=26954-26955;source=184.72.239.149;server_port=12868-12869;ssrc=281B60E7
//服务器返回客户端端口号已经对应的服务端口号,注意和上面音频流对比。
Date: Sun, 17 Feb 2019 05:55:06 UTC
Session: 1372529946;timeout=60

这两根据DESCRIBE返回的信息可以了解到,有2个媒体流。而且服务器已经给它们各分配了一个trackID,用于标示这个资源。由音视频请求中可以发现,音视频流请求对应不同端口,而且服务端也是对应不同端口,这里要特别注意。

<4> PLAY

上面该请求的数据已经获取了,发送PLAY方法开始播放视频。

PLAY rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/ RTSP/1.0
Range: npt=0.000-
CSeq: 5
User-Agent: Lavf58.20.100
Session: 1372529946

RTSP/1.0 200 OK
RTP-Info: url=rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=1;seq=1;rtptime=0,url=rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=2;seq=1;rtptime=0
CSeq: 5
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Range: npt=0.0-596.458
Session: 1372529946;timeout=60
   url:
          Indicates the stream URL which for which the following RTP
          parameters correspond.

   seq:
          Indicates the sequence number of the first packet of the
          stream. This allows clients to gracefully deal with packets
          when seeking. The client uses this value to differentiate
          packets that originated before the seek from packets that
          originated after the seek.

   rtptime:
          Indicates the RTP timestamp corresponding to the time value in
          the Range response header. (Note: For aggregate control, a
          particular stream may not actually generate a packet for the
          Range time value returned or implied. Thus, there is no
          guarantee that the packet with the sequence number indicated
          by seq actually has the timestamp indicated by rtptime.) The
          client uses this value to calculate the mapping of RTP time to
          NPT.

<5> PAUSE

PAUSE方法用于通知服务器停止发送音视频流。

PAUSE rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/ RTSP/1.0
CSeq: 6
User-Agent: Lavf58.20.100
Session: 1372529946

RTSP/1.0 200 OK
CSeq: 6
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Session: 1372529946;timeout=60

这里由于在使用UDP传输时超时了,ffplay又重新选择了TCP传输,所以下面又看到了。SETUP、PLAY方法。

SETUP rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=1 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
CSeq: 7
User-Agent: Lavf58.20.100

RTSP/1.0 200 OK
CSeq: 7
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Expires: Sun, 17 Feb 2019 05:55:17 UTC
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Date: Sun, 17 Feb 2019 05:55:17 UTC
Session: 1372529946;timeout=60

SETUP rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=2 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=2-3
CSeq: 8
User-Agent: Lavf58.20.100
Session: 1372529946

RTSP/1.0 200 OK
CSeq: 8
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Expires: Sun, 17 Feb 2019 05:55:18 UTC
Transport: RTP/AVP/TCP;unicast;interleaved=2-3
Date: Sun, 17 Feb 2019 05:55:18 UTC
Session: 1372529946;timeout=60
PLAY rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/ RTSP/1.0
Range: npt=0.000-
CSeq: 9
User-Agent: Lavf58.20.100
Session: 1372529946

RTSP/1.0 200 OK
RTP-Info: url=rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=1;seq=178;rtptime=0,url=rtsp://184.72.239.149:554/vod/mp4://BigBuckBunny_175k.mov/trackID=2;seq=274;rtptime=0
CSeq: 9
Server: Wowza Streaming Engine 4.7.5.01 build21752
Cache-Control: no-cache
Range: npt=0.0-596.458
Session: 1372529946;timeout=60

5.总结

转眼间天黑了,一下午一篇文档,算是初步了解了RTSP协议的使用,但是还没进入真正的网络编程实践。接下来继续学习RTP、RTCP,百度输入文件编号即可找到文件。

协议参考文档
RTSP《RFC2326》
RTP《RFC3550》《RFC 3605》
RTCP《RFC3550》
SDP《RFC 4566》
海康NVR设备RTSP协议转RTMP协议 海康威视RTSP转RTMP协议,使Chrome Safari上可以直接播放。 阅读详情

相关推荐

海康网络摄像机与电脑交互,有网络和无网络两种方式读取URL视频流,以及无网络情况下配置IP地址

目录(1)准备工具:(2)通过WiFi的接口连接(3)无网络情况下进行交互(4)海康官方软件(5)RTSP视频流a)RTSP:b)视频流: c)rtsp流地址POE名词解释:注:POE网络摄像机,又称以太网供电网络摄像机,属于监控摄像机的一种。大概的意思是:POE网络摄像机可以通过交换机或录像机给自己供电,而非POE网络摄像机必须得接入电源线。注意:IP网络号必须和摄像头的网络号相同,但是地址号必须不同,否则两个主机不能做交互!海康官网桌面应用软件下载通道:桌面应用软件 - 下载中心 - 海康威视Hikvi

Flying Bulldog 的博客 2万+

实时流协议---RTSP【详解】

一、RTSP协议介绍 RTSP(Real Time Streaming Protocol 实时流协议)是一个有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如开始、暂停、快进、停止等控制,RTSP的作用相当于流媒体服务器的远程控制,而它本身并不传输数据。 官方指导文档参考:RFC 2326 - Real Time Streaming Protocol (RTSP) 它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。 RTSP具有重新导...

王木木 3万+

【网络通信】一文读懂网络应用层常见协议的区别(HTTP 、HTTPS、MQTT、FTP、RTSP、RTMP)

应用层协议是计算机网络中至关重要的组成部分,它们定义了应用程序如何与网络进行交互,实现数据的传输、接收和处理。本文将重点介绍几种常见的应用层协议:HTTP、HTTPS、MQTT、FTP、RTSP和RTMP,分析它们的特点、区别、工作原理以及应用场景。

Remote Sensing迷途小书童 2029

RTSP协议详解

Rtsp

qq_25330791的博客 1万+

流媒体协议之RTSP详解

RTSP(Real Time Streaming Protocol):实时流媒体协议,是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议,RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,如音频流、视频流、metadata;遵循规范IETF RFC 2326,4567,6064,其语法和操作参考了HTTP/1.1,基于文本的协议,采用ISO10646字符集,使用UTF-8编码;承载RTSP的传输层协议为TCP,默认端口554;

技术控的笔记 2万+

RTSP和RTMP协议有什么区别?RTSP为什么常用于安防监控摄像头行业,而视频直播却只使用RTMP推流?

RTMP(Real-Time Messaging Protocol)是一种用于音视频流传输的协议。它最初由Adobe开发,用于在Flash播放器和服务器之间传输实时音视频数据。RTMP通过建立TCP连接来传输音视频数据,具有低延迟和高效率的特点。RTMP协议可以支持实时的音视频直播和点播,可以在实时传输过程中实现音视频的编码、解码、压缩和传输。它能够自适应网络带宽,根据网络情况动态调整音视频数据的传输速率,以保证流媒体传输的稳定性和流畅性。

eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程发布十周年,众多开发者的严格验证。欢迎关注,一起交流探索学习最新音视频和图像处理技术 3296

Java 读取RTSP、RTMP等网络流、图像、视频指南,易于理解,方便使用

本文详细介绍如何使用 Java 读取和处理各种视频源(摄像头、视频文件、RTSP/RTMP/HTTP 网络流)和图像,循环处理每一帧,为计算机视觉应用(如目标检测、图像分割、视频分析)提供数据输入。采用面向过程编程风格,代码简洁直观,易于理解和使用。

m0_69594200的博客 1275

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下

weixin_41855010的博客 7115

rtsp端口号_最详细的流媒体传输协议rtsp协议详解

流媒体传输协议-rtsp协议详解参阅:RTSP协议详解和分析从零开始写一个RTSP服务器(一)RTSP协议讲解关于RTSP_RTP_RTCP协议的深刻初步介绍rtspRTSP出现以前,最热的大概就是HTTP协议。想象一下,当你需要欣赏网络中的某一段视频,通过HTTP协议访问其URL、开始下载、下载完成后播放。对于早期的视频采集设备、网络带宽或是负责渲染的显示器而言,似乎多给予一点耐心、多...

weixin_32567865的博客 1万+

YOLO详解

本文参考知乎 https://zhuanlan.zhihu.com/p/25236464 1. YOLO的创新点 YOLO将物体检测作为回归问题求解。基于一个单独的end-to-end网络,完成从原始图像的输入到物体位置和类别的输出。 从网络设计上,YOLO与two steps的目标检测方法如RCNN、Fast RCNN和Faster RCNN的区别如下: YOLO训练和检测均是在一个单独网...

UnknownPlayer的博客 9959

Qt项目开发实例 (含源码)

qt教程、qt项目、qt下载、qt项目实战、qt多线程。本文通过分析demo源码,QT实战的方式进行学习,学习路线是以实战为目录,全面的使用自己的学习知识,文章中编写一系列的学习游戏demo,与大家一起分享。

啊渊的专栏 14万+

一个简单易懂的RTSP教程

https://blog.youkuaiyun.com/weixin_42462202/category_9293806.html

weixin_49071468的博客 253

高通开发系列 - Camera之摄像头调试记录

记录一些调试内容

fulinux的博客 1217

网络摄像机rtsp地址详解。

关于英飞拓、大华、海康品牌的网络摄像机rtsp地址的介绍,方便大家快速的获取rtsp地址格式及信息。 1 1:对应的英飞拓、大华、海康品牌的网络摄像机接入网络; 2 2:英飞拓、大华、海康品牌的网络摄像机的rtsp地址介绍; a:英飞拓 rtsp://ip:port/1/h264major rtsp://192.168.2.100:554/1/h264major b:大华 rtsp://username:password@ip:port/cam/realmonitor?channel=1&s

爱捣蛋的小仙儿。 9317

js逆向实战:爬取淘宝男装商品

本文介绍了一个淘宝商品数据爬取程序的技术实现方案。该程序通过分析淘宝H5页面接口,实现了商品名称、价格、销量等关键信息的抓取,并支持图片下载功能。核心内容包括:1. 使用Request库发送HTTP请求获取数据;2. 通过逆向分析淘宝的签名算法(MD5加密)生成合法请求;3. 解析JSON数据并提取商品信息;4. 处理分页参数实现多页数据爬取;5. 将数据保存为CSV文件并下载商品图片。程序还实现了反爬虫绕过、错误处理、文件管理等辅助功能,完整展示了从数据采集到存储的全过程。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1574

SAP S4 HANA:按单生产(MTO)场景中的COGS分割

本文介绍了SAP S/4HANA中提供的各种选项,以在销售订单/商品是按订单生产(以下称为MTO)生产流程中的成本对象时,在基于帐户的COPA环境中报告COGS分割信息。

adam915的博客 1191

莱科迪网络摄像头rtsp地址

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34186950的博客 1514

lammps案例:reaxff势模拟Fe(OH)3高温反应过程

所有的reaxff模拟,如:氧化、腐蚀、热裂解、燃烧等模拟,均可采用此模拟框架,只需要更换data文件、势文件,代码中的control文件可以不写,电荷平衡文件也可以用reaxff替换。该案例主要模拟Fe(OH)3在高温下的反应过程,主要代码来自lammps自带的案例。lammps自带案例没有产物输出,故在此基础上稍加修改,增加了产物输出命令。如果需要系统学习反应势的模拟,可考虑报名培训课程。本文分享一个reaxff反应势的案例。in文件代码已经注释,以供参考。大家好,我是小马老师。

lammps_jiayou的博客 1966

使用Wireshark抓取RTSP、RTP、RTCP网络包教程

使用Wireshark抓取RTSP、RTP、RTCP网络包教程 【下载地址】使用Wireshark抓取RTSPRTPRTCP网络包教程 本教程详细介绍了如何使用Wireshark抓取和分析RTSP、RTP、RTCP网络包,帮助您深入理解流媒体协议的交互过程。从Wireshark的基本使用到RTSP、RTP、RTCP协议的...

gitblog_06750的博客 870

硬件测试实战笔记:SI/PI 到底测什么,怎么测?一文讲清

点选错了,数据越精确越误导。

qq_52293640的博客 259

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

客户端连接rtsp的步骤

通过建立与相机的TCP/IP连接 发送指定的rtsp文本串 建立与相机

zhouyongku的专栏 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

简述rtsp,rtmp,http三个协议

第一篇博客,本来是比较迷茫的状态,一位前辈推荐我来写博客,说这样对自己的提升会比较大,请大家多多指教. 最近要负责一个视频监控的项目模块,没有接触过,交接给我的同事跟我说,你先去了解三个协议: rtsp:是应用层的一个媒体播放的控制协议.主要用来控制流媒体的播放,暂停,后退,前进等操作.URL格式为: rtsp://host[:port]/[abs_path]/content_name...

weixin_30909575的博客 168

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

基于VLC实现RTSP推流视频

基于VLC实现RTSP推流视频一、添加VLC头文件和库文件二、封装RTSPServer推流类三、测试代码 不清楚推流大概原理的小伙伴,参考《设置VLC播放器进行RTSP推流视频》 一、添加VLC头文件和库文件 我们创建一个测试工程RSTPVideo,使用的VLC版本为2.2.4,在pro文件中添加如下内容: win32 { # VLC相关库 LIBS += -L$$PWD/../VLC/lib -llibvlc -llibvlccore # VLC头文件目录 INCLUDEPATH += $$PWD/..

百里杨的博客 4079

RTSP协议

RTSP(Real Time Streaming Protocol,实时流媒体协议),是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括...

283

直播所使用的网络协议(RTP\RTCP\RTSP\RTMP\HLS\SRT)

直播协议

ppinecone的博客 7016
上一篇: RS485收发的3种典型电路-重点-自动收发电路
下一篇: ffmpeg学习之-初步认识及windows环境搭建
armwind
博客等级 码龄12年 406粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值