rtsp协议为何不能穿透防火墙? [问题点数:40分,结帖人ecjtunh]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs1
本版专家分:0
结帖率 100%
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Blank
GitHub 绑定GitHub第三方账户获取
Blank
红花 2011年5月 专题开发/技术/项目大版内专家分月排行榜第一
2011年4月 专题开发/技术/项目大版内专家分月排行榜第一
2011年3月 专题开发/技术/项目大版内专家分月排行榜第一
2011年2月 专题开发/技术/项目大版内专家分月排行榜第一
2011年1月 专题开发/技术/项目大版内专家分月排行榜第一
2010年12月 专题开发/技术/项目大版内专家分月排行榜第一
Blank
黄花 2011年11月 专题开发/技术/项目大版内专家分月排行榜第二
2011年8月 专题开发/技术/项目大版内专家分月排行榜第二
Bbs1
本版专家分:0
Bbs1
本版专家分:0
RTP/RTCP协议解析
一、简介 RTP—实时传输<em>协议</em>,其在多点传送(多播)或单点传送(单播)的网络上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频,视频或者仿真数据。RTP没有为实时服务提供资源预留的功能,也不保证QoS(服务质量)。 RTP的数据传输功能由一个控制<em>协议</em>(RTCP)来扩展,通过扩展,可以用一种方式对数据传输进行监测控制,该<em>协议</em>(RTCP)可以升级到大型的多点传输(多播)网络,并提供最
RTCP协议详解
2.3. RTCP的封装 RTP需要RTCP为其服务质量提供保证,因此下面介绍一下RTCP的相关知识。 RTCP的主要功能是:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。在RTP会话期 间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,各参与者可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和R
rtp协议
rtp<em>协议</em>介绍的博客文章比较多,但是有疑惑,从vlc源码, strem_out/rtp.c中实际使用的 rtp打包代码来看,rpt头只用了12Byte,从实际wireshark抓到的包来看,也只占用12字节。但是很有些文章都介绍 除了这12Byte之外还有CSRC, 这是什么?和SSRC有什么区别? https://tools.ietf.org/html/rfc3550#section-5.1 ...
实时视频传输协议RTP
一、RTP(实时传输<em>协议</em>) RTP全名是Real-time Transport Protocol(实时传输<em>协议</em>),RTP<em>协议</em>常用于流媒体系统(配合RTCP<em>协议</em>或者RTSP<em>协议</em>)。因为RTP自身具有Time stamp所以在ffmpeg 中被用做一种formate. 每一个RTP数据报都由头部(Header)和负载(Payload)两个部分组成,其中头部前12个字节的含义是固定的,而负载则可以是音频或
rtcp字段计算方法
详细讲解了rtcp中几个难懂字段的计算方法,以及怎么根据rtcp包计算出抖动、延迟值。
请教:RTSP中,NAT穿透问题
在读RTSP标准的时候,里面有这样一句话: Since SETUP includes all transport initialization information, firewalls and o
RTP协议浅析
平时看的视频流是靠什么做支撑的?是实时传输<em>协议</em>,英文是Real time transport protocol,简写为RTP<em>协议</em>。 RTP<em>协议</em>的定义:RTP为实时应用提供端到端的运输,但不提供任何服务质量的保障。服务质量由专门的<em>协议</em>提供,比如在IP层面上的QOS提供该服务。需要发送的多媒体数据块(包括视频流数据块、音频流数据块)经过压缩编码处理后,先送到RTP封装成RTP分组(RTP数据报),RT...
有关于摄像头ONVIF协议
1.摄像头支持的ONVIF<em>协议</em>版本是2.0的,录像机支持的ONVIF<em>协议</em>是2.4的,这样的话是不是一定就<em>不能</em>连接上 2.如果两个产品,一个是摄像头支持ONVIF<em>协议</em>,一个是录像机不支持ONVIF<em>协议</em>,
RTP(实时传输协议
目录 1概述 2 RTP使用场景 3 RTP详解 4 RTP控制<em>协议</em>RTCP      1概述 RTP(real-time transport protocol),实时传输<em>协议</em>。RTP在多点传送(多播)或单点传送(单播)的网络服务上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频,视频或者仿真数据。RTP没有为实时服务提供资源预留的功能,也<em>不能</em>保证QoS(服务质量)。数据...
RTSP端口554被防火墙拦截的问题
看到网上RTSP<em>协议</em>的介绍说是其端口554有时会被<em>防火墙</em>或者NAT拦截住,我想问一下: 假如我用手机客户端通过RTSP<em>协议</em>观看外网的网络摄像机,要是端口号554被拦截的话可能被谁拦截了?是手机客户端这边的路由器还是网络摄像机那边的路由器呢?麻烦解释的详细点,谢谢
ONVIF协议修改设备IP
现在客户端要通过ONVIF<em>协议</em>发送一个IP地址给设备,我的服务程序就安装在这个设备上。我应该如何修改设备的IP?设备发现的功能已经做好了,gsoap里面生成的代码有修改IP的统一接口? 望有过ONVI
基于RTP协议的UDP视频流传输,如何解决包乱序问题?(求指点一下具体思路)
本人刚来公司实习,接到一个任务,项目如下: 需要完成一个视频接收子模块,这里称 VRX,具体如下: 1,提供缓冲区,能够解决无线传输中包的乱序问题 2,负责将从网络接收到的包还原成帧,进而还原出纯业
RTP端口问题?
请问RTP<em>协议</em>是否有服务区端口的说法,就是说在服务器端,RTP提供一个端口,可以有多个对端(RTP客户端)连接至此端口,进行通信。就好比HTTP、FTP一样,一个端口接受提供多个会话的通话
自行实现 Onvif 对接开发模式
对于Onvif<em>协议</em>,在安防视频行业的地方,谁都知道。但是网上就有onvif<em>协议</em>对接的方案都是使用开源的第三方库进行对接,讲解。那么问题来了,我们能<em>不能</em>用代码自己实现呢?答案是肯定的。而要用我们自己的代码实现onvif<em>协议</em>对接,其中牵扯到诸多的<em>协议</em>和概念,这里我大致整理一下,对自行实现Onvif<em>协议</em>对接者提供一个学习思路。 1、工具很重要 学习onvif之前,需要两个最基本工具: 1、ONVI
设置RTSP, RTP和RTCP端口号
1.设置RTSP端口号 设置RTSP端口号的处理位于ARTSPConnection.cpp文件中,首先从url中获取端口号,如果读取不到,则设置为默认端口554。代码处理如下: ARTSPConnection::ParseURL( const char *colonPos = strchr(host-&amp;gt;c_str(), ':'); if (colonPos != NU...
RTP协议中文版
RTP<em>协议</em>,中文版,方便大家熟悉RTP<em>协议</em>
海康RTSP客户端连接深入分析
海康相机RTSP连接代码分析 最近在做海康相机<em>rtsp</em>连接获取音视频的工作,现在介绍一下分析过程和源码。     RTSP客户端去连接服务器的最基本步骤如下:    一、分析url中的端口号,创建一个与服务器[S-PORT]端口号的TCP连接用于RTSP命令交互 二、执行RTSP命令请求,告诉服务器可以连接到本地的端口[C-PORT]进行数据发送 三、客户端从本地[C-PORT]读取
大虾们!rtcp协议怎么实现丢包重发!????
看了一下rtp/RTCP <em>协议</em>,发现RTCP 的报文中仅仅有丢包率这样的概念,但好像客户端并没有将所有丢失的包的序列号或时间戳发给服务器要求重发,所以想问问大虾们: 1. rtcp到底怎样实现丢包补发
请教rtcp的一些问题
本人做了个简单的流媒体播放器,用的是<em>rtsp</em><em>协议</em>。以live555为服务器,但是在播放中有些丢包的现象,现如今用rtcp来控制流速率,但是对于rtcp 的有些概念还是有些疑惑 。 1:Fractioi
RTP协议
RTP(Real-time Transport Protocol)是由IETF开发的实时传输<em>协议</em>,可以在面向连接或无连接的下层<em>协议</em>上工作,通常和UDP<em>协议</em>一起使用。RTP的工作机理与RSVP不同,主要实现一种端到端的多媒体流同步控制机制,既不需要事先建立连接,也不需要中间节点的参与,为其保留资源。在网络带宽充足的情况下,RTP具有一定的带宽调控能力,保证端到端的多媒体流同步。在网络带宽不足时,RT
通过反向代理内网穿透访问视频监控
通过反向代理内网<em>穿透</em>访问视频监控业务场景反向代理建立反向代理安装docker安装服务端安装客户端使用<em>穿透</em><em>rtsp</em> 业务场景 我们在客户的船上安装了监控设备,因为船只要横渡长江,长江南北属于不同的城市辖区,所以船在江中心时肯定会有4G基站变换的动作,导致设备的外网ip地址变化。没有固定ip地址的局域网访问方式一般是通过DDNS,但DDNS检测ip变化的时间需要10分钟,看来DDNS肯定是不适用这样的...
RTSP_RTP_TCP直播协议,潜入到海思sample_vdec做直播,遇到头疼的花屏、马赛克问题,求助!
先说说我的代码框架(具体如下,不足再补): 1、建立tcp socket <em>rtsp</em>对接ipc摄像头(已设定SO_RCVBUF=32*1024*5) 2、创建3条线程 //recv()tcp接收数据 p
SIP与H.323协议的比较及其应用
SIP与H.323<em>协议</em>的比较及其应用   一、引言   当前,随着信息技术的发展,计算机网络与传统电信网络正逐步走向融合。基于分组交换技术的IP电话因其特殊的运营方式和成本核算方法,正以低廉的价格给传统电信市场带来强大冲击。   对于传统运营商来说,其核心的利润来源——语音和数据在移动业务和互联网业务的影响下已经<em>不能</em>满足运营商的盈利需求,各国运营商都在寻找新的盈利点。在这种新
RTSP流媒体数据传输的两种方式(TCP和UDP)
通常情况下<em>rtsp</em><em>协议</em>中数据传输的实现是UDP,因工作需要,想让<em>rtsp</em>的数据传输部分用TCP实现。DarwinStreamingServer服务器能自适应客户端发起的数据传输请求是用TCP方式,还是用UDP方式,这里唯一需要解决的是客户端<em>协议</em>的发起问题,而vlc支持RTSP over TCP的方式。 剩下的问题就好办了,让vlc以TCP的方式发起连接即可。 DSS的安装配置我就不介绍了,不懂...
RTSP协议中建立连接的默认端口是多少?
RTSP<em>协议</em>中建立连接的默认端口是多少? 谢谢。
内网无法播放公网rtsp流的问题
用vlc的vlm功能搭了一个视频点播系统,放在AWS上,有公网IP(假设公网IP为11.11.11.11)。 然后在内网用vlc等播放器播放<em>rtsp</em>://11.11.11.11:8554/vod1。
通过onvif协议接入海康、大华NVR步骤
通过onvif<em>协议</em>接入海康、大华NVR步骤  https://wenku.baidu.com/view/6f1fcf37192e45361066f54b.html
关于SIP防火墙穿越的汇总
术语和基础知识<em>防火墙</em>  一个<em>防火墙</em>限制私人内网和公众因特网之间的通讯,典型地<em>防火墙</em>就是丢弃那些它认为未经许可的数据包。在数据包穿越一个<em>防火墙</em>时,它检查但是不修改包里的 IP地址和TCP/ UDP 端口信息。网络地址转换(NAT)  当数据包穿过NAT时,NAT不仅检查同时也修改数据的包头信息,并且允许更多的在NAT后的主机分享少数公网IP地址(通常只有1个)。NAT的类型和说明NAT通常有2种
RTP协议几个问题100分。
RTP-3.9.1 <em>协议</em> 1、能承受多少人在线连接? 2、最高支持群发多少人? 3、有做过压力测试的朋友吗?有什么说法不? 4、RTP3.9.1为什么会有4个端口?那两个TCP自己连接自己是什么意思?
RTSP UDP播放 穿透原理
UDP正常情况下是无法把数据发送到局域网内部的播放器的,在SETUP建立端口后会首先向服务器的RTP和RTCP端口发送4字节的数据进行<em>穿透</em>,服务器自动更改端口发送视频数据
RTSP协议详解
RTSP简介     RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层<em>协议</em>。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类
onvif协议
onvif<em>协议</em>是视频监控领域共同制订的一套标准,以探测同一局域网内摄像头信息。 onvif开源代码: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;sys/socket.h&gt; #include &lt;netinet/in.h&gt; #include...
RTCP介绍及发送间隔控制
1、简述 RTP实时传输<em>协议</em>,广泛应用于流媒体传输应用场景,根据rfc3550介绍,RTP<em>协议</em>应用场景有如下几种: Ø  简单多播音频会议(Simple Multicast Audio Conference) Ø  音频和视频会议(Audioand Video Conference) Ø  混频器和转换器(MixersandTranslators) Ø  分层编码(LayeredEnco
可以播放RTSP协议流媒体的HTML5播放器
有没有一个HTML5播放器可以播放RTSP<em>协议</em>的视频流。视频H.264编码,音频AAC。 在手机上测试过谷歌浏览器、360浏览器、UC浏览器,只有在UC上使用H5的video标签可以直播视频。 看过别
RTSP协议之TCP/UDP问题
前言 RTSP(Real-Time StreamingProtocol)实时流式<em>协议</em>在直播、流媒体、视频会议等平台用得很多,它是基于TCP/IP开发的上层<em>协议</em>,所以音视频流数据可以用TCP或者UDP来传输。这篇文章目的主要是讲述这二者的区别,如果想了解更多RTSP相关的知识,可以参阅我之前的博文《RTSP<em>协议</em>实例分析》。     RTSP之TCP与UDP方式区别  TCP与UDP方式的区...
RTSP/RTP代理转发
我从未涉及过流媒体<em>协议</em>编程,现在需要用Java实现一个RTSP/RTP代理服务器,现在只需要实现最基本的转发功能,不用缓存之类的。 大概看了下RFC,我现在的实现没有考虑RTCP<em>协议</em>。 对于RTSP协
webrtc中的rtcp处理
在webrtc中,处理rtcp,目前的版本是在,rtcp_sender.h 和rtcp_sender.cpp中实现; 当收到rtcp packet时,调用过程,主要是以下三个函数: 接收-》解析-》响应; IncomingPacket -》{ParseCompoundPacket -》TriggerCallbacksFromRtcpPacket }; 当然,还是...
RTCP SR RR 分享一个基础知识
由于在准备毕设,这段时间一直在看RTP/RTCP的相关资料,今天终于搞清楚了一个常识,拿出来分享下,高手请吐槽 RTCP中有RR SR等类型的包,开始时候一直以为,发送端中查看的包围SR,接收端中查看
ONVIF协议局域网之外该如何使用?
在做ONVIF<em>协议</em>手机客户端开发,走通了web请求接口和<em>rtsp</em>视频播放。局域网内(雄迈)摄像机web服务地址为:http://192.168.31.19:8899/onvif/device_serv
RTP协议全解析(H264码流和PS流)
1    RTP Header解析 2、RTP荷载H264码流 2.1、单个NAL单元包 2.2、分片单元(FU-A) 3、RTP荷载PS流 3.1、PS包头 3.2、系统标题 3.3、节目映射流 3.4、PES分组头部
设置rtp rtsp rtcp端口 转载
1.设置RTSP端口号 设置RTSP端口号的处理位于ARTSPConnection.cpp文件中,首先从url中获取端口号,如果读取不到,则设置为默认端口554。代码处理如下: [cpp] view plaincopy ARTSPConnection::ParseURL(        const char *colonPos = strchr(host->c_str(),
如何接收rtp数据
send length :79 OPTIONS <em>rtsp</em>://114.255.201.246/cctv2_256_h264.sdp?usernam RTSP/1.0 CSeq: 0 receive l
RTCP(一): RR--Receiver Reports 接收者报告
RTCP RR的格式 接受者报告的RTCP类型是201,如图1.1所示。 图1.1 reporter ssrc rr报告发送者的ssrc,也就是rtp报文接受者自己的ssrc. reportee ssrc rr报告接受者的ssrc,也就是rtp报文发送者的ssrc. cumulative number of packet lost 累积报文丢失总数,该字段是一个24...
关于新版VLC无法看RTSP的视频的问题-转
其实关于新版VLC无法看RTSP的视频的问题早在很久之前就已经有人跟我提过了,而我写的EzStreamSvr和EasyIPCam都是用RTSP来streaming 视频的,因此又有一些朋友来把这个问题反馈回来给我,为以省去更多的口舌,特将此问题整理如下 TAG: EasyIPCam  EzStreamSvr  VLC   其实关于新版VLC无法看RTSP的视频的问题早在很久之前就已经有
RTSP视频流的远程播放的实现
无心学习,把最近这段时间的所想所思寄托在这片土地上,算是对自己的一个交代,也是对各位大大们的一种感激。 实现需要的原料: (1)海康威视摄像头一个 (2)PC机一台 (3)阿里ip一个 实现的加工厂: 实现的原理 (1)ffmpeg的转码 (2)发送到ffserver服务器等待监听, (3)转发到阿里云ip, (4)手机,浏览器 就可以通过输入ip地址查看。 问题一: ff
rtsp详解二之wireshark抓包分析
一、概述     RTSP(Real-Time Stream Protocol )是一种基于文本的应用层<em>协议</em>,在语法及一些消息参数等方面,RTSP<em>协议</em>与HTTP<em>协议</em>类似。     RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。RTSP本身并不用于传送媒体流数据。媒体数据的传送可通过RTP/RTCP等<em>协议</em>来完成。   基本的RTSP操作过程
防火墙技术之---ALG技术
NAT网络地址转换是以救世主的身份出现缓解IPv4地址枯竭,实践证明NAT的很多的优点使其迅速被广泛应用,但是在实际操作中也出现了一些问题。NAT关注五元组信息,进行转换的五元组也仅限于IP报头之中,但是一些应用层<em>协议</em>像FTP,H323等多通道<em>协议</em>及流媒体RTSP,MMS,还有DNS,SMTP,和一些IM和P2P,一般情况下在应用载荷信息之中也会包括一些地...
RTP协议payload字段
关于rtp payload里面的内容 我从数据包中偶尔会看到G711 pcmu格式的payload数据位0xffffff....的语音包,连续很多个,而似乎这不太正常,什么情况下会出现这种情况呢?
VLC和openrtsp客户端,rtsp over tcp ,只能播放3分钟30s,服务器就不发数据了??
各位达人,我用live555的wistreamer(版本较早)做服务器,然后用vlc和open<em>rtsp</em>通过<em>rtsp</em> over tcp方式去接收码流, 发现第一次连接可以正常接收,客户端断开再连接就只能
RTP协议学习大总结从原理到代码
一、流媒体概念 流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传 输流和回放流的一系列技术、方法和<em>协议</em>的总称,即流媒体技术;狭义上  的流媒体是相对 于传统的下载-回放方式而言的,指的是一种从 Internet 上获取音频和视频等多媒体数据的 新方法,它能够支持多媒体数据流的实时传输和  实时播放。通过运用流媒体技术,服务器 能够向客户机发送稳定和连续的
RTCP(二): SR--Sender Reports 接收者报告
一. 前言发送rtp报文端向接受者发送SR报文,主要目的是方便接收方做好音视频同步工作。二. RTCP SR格式发送者报告SR,其RTCP类型payload type是200。主要信息共24bytes,也就是6 words,如图2.1                                                  图2.12.1 NTP timestampNTP timestam...
RTP协议详解.pdf
RTP<em>协议</em>分析非扫描版 RTCP<em>协议</em>原理 RTP数据包格式 时间戳 多种流同步控制
海康存在内网穿透时的国标取流样本
这是一个海康存在内网<em>穿透</em>时的国标取流样本,其中有个小细节 | INFO3 | 150951346 &lt;jcallback.c: 1490&gt; cb_snd123456xx (id=76086) | INFO4 | 150951346 &lt;osip_transaction.c: 373&gt; sipevent evt: method called! | INFO2 | 150951...
163邮箱报错554 dt:spm
我的代码如下 ``` public class MailUtil { public static final String HOST = "smtp.163.com"; public static final String PROTOCOL = "smtp"; public static final int PORT = 25; //ssl :465/994 非ssl: 25 public static final String FROM = "****@163.com";//发件人的email public static final String PWD = "*****";//网易邮箱的客户端授权密码 /** * 获取Session * @return */ private static Session getSession() { Properties props = new Properties(); props.put("mail.smtp.host", HOST);//设置服务器地址 props.put("mail.store.protocol" , PROTOCOL);//设置<em>协议</em> props.put("mail.smtp.port", PORT);//设置端口 props.put("mail.smtp.auth" , true); Authenticator authenticator = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(FROM, PWD); } }; Session session = Session.getDefaultInstance(props , authenticator); return session; } public static void send(String toEmail , String content) { Session session = getSession(); try { System.out.println("--send--"+content); // Instantiate a message Message msg = new MimeMessage(session); //Set message attributes msg.setFrom(new InternetAddress(FROM)); InternetAddress[] address = {new InternetAddress(toEmail)}; msg.setRecipients(Message.RecipientType.TO, address); msg.setSubject("账号激活邮件"); msg.setSentDate(new Date()); msg.setContent(content , "text/html;charset=utf-8"); //Send the message Transport.send(msg); } catch (MessagingException mex) { mex.printStackTrace(); } } public static void main(String[] args) { MailUtil.send("weilizong2014@hotmail.com", "当年我很喜欢你,你却只你自己"); } } ```
udp采用rtp传输丢包问题
RTP传输UDP视频流数据,采用Live555开源代码实现。 视频流信息:分辨率(1080P),比特率(固定码流:4Mbps),帧数(25帧/秒) 接入方式:一台百兆交换机接入4台摄像机,两台HIKV
海康(DVR/DVS)网络摄像机的onvif地址
各位大牛,请教一下,海康网络摄像机的onvif地址是什么,其它品牌的是: http://ip:8000/onvif/device_service,但是海康的这个地址不行,我没有海康的相关文档,请赐教!
live555如何获取实时视频
live555中如何获取RTSP实时流,是openRTSP这个函数吗?获取H.264视频是怎么添加它标头那
onvif客户端搜索不到大华ipc
基于gsoap2.8.15实现onvif客户端,可以搜索到海康等厂家的ipc,但是大华的ipc发现不了。抓包大华ipc无响应。 采用标准device test tool工具探测,都可以搜索到。 相信有
h264数据通过RTP分片传输的例子
使用RTP传输H264数据时,当NALU的长度太长需要分包时,如下是一个例子,如想知道更详细的<em>协议</em>说明可以参考末尾连接。
RTP有效负载(载荷)类型,RTP Payload Type
PT Encoding Name Audio/Video (A/V) Clock Rate (Hz) Channels Reference 0PCMUA80001[RFC3551]1Reserved    2Reserved    3GSMA80001[RFC3551]4G723A80001[Vineet_Kumar][RFC3551]5DVI4A80001[RFC3551]6DVI4A16000...
RTP H264 分包解包
一、 h264基础概念SODB: 数据比特串-->最原始的编码数据RBSP: 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐。EBSP: 扩展字节序列载荷-- &amp;gt;在RBSP基础上填加了仿校验字节(0X03)它的原因是: 在NALU加到Annexb上时,需要填加每组NALU之前的开始码 StartCod...
关于RTSP的DESCRIBE, video audio的端口问题
我用RTSP的describe的方法去获得一个正在streaming的视频的SDP文件 得到如下 v=0 o=StreamingServer 3447181627 1110207734000 IN I
rtp、rtsp客户端开发流程
环境:VLC做服务器,url:<em>rtsp</em>://192.168.100.77:8554/1               <em>rtsp</em>链路采用tcp链接               rtp采用udp 关于rtp、<em>rtsp</em>、rtcp的知识,这里不做详细解释,网上有大把的资料,用户可以自己问度娘。这里直接切入正题。 PS:这里还需要唠叨一点,<em>rtsp</em>为字符<em>协议</em>,字符<em>协议</em>中含大量不可见字符
RTP包使用TCP发送的问题
最近做了一个<em>rtsp</em>的小型视频服务器,用UDP进行发送的时候可以在VLC上看到完整的视频,但是通过TCP进行发送的时候只能看到一幅图像,然后过十几秒钟VLC就自动断掉了,抓包可以看到数据已经成功发送。
音视频基础:RTP/RTCP协议
RTP<em>协议</em> RFC3550定义实时传输<em>协议</em>RTP和它的控制<em>协议</em>RTCP。RTP<em>协议</em>是Internet上针对流媒体传输的基础<em>协议</em>,该<em>协议</em>详细说明在互联网上传输音视频的标准数据包格式。RTP本身只保证实时数据的传输,并<em>不能</em>提供可靠传输、流量控制和拥塞控制等服务质量保证,这需要RTCP<em>协议</em>提供这些服务。 IETF的RFC3550定义RTP/RTCP<em>协议</em>的基本内容,包括报文格式、传输规则等。...
MP4文件中的NALU解析
1.什么是NAL NAL全称Network Abstract Layer,即网络抽象层。 在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传播。VCL(Video Coding Layer)是H.264/AVC的规格,意
Java,163邮箱发送失败问题;com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smt
Java实现 邮箱发送,163邮箱在发送过程中出现间接性发送失败问题; 错误信息: **邮件发送失败!com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp5,D9GowADn0DpklIBclT7UBw--.45S2 1551930470,please see http://mail.163.com/help/help_spam_16.htm?ip=61.178.126.61&hostid=smtp5&time=1551930470**; 已尝试网上的解决办法(在发送邮件之前向自己抄送一份),邮箱设置中也设置了白名单(无效果); 下面是实现代码: ``` package com.dfec.obp.util; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class MailUtil { ``` private MimeMessage mimeMsg; // MIME邮件对象 private Session session; // 邮件会话对象 private Properties props; // 系统属性 private boolean needAuth = false; // smtp是否需要认证 // smtp认证用户名和密码 private String username; private String password; private Multipart mp; // Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象 /** * Constructor * * @param smtp * 邮件发送服务器 */ public MailUtil(String smtp){ setSmtpHost(smtp); createMimeMessage(); } /** * 设置邮件发送服务器 * * @param hostName * String */ public void setSmtpHost(String hostName) { // System.out.println("设置系统属性:mail.smtp.host = "+hostName); if(props == null) props = System.getProperties(); // 获得系统属性对象 props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.socketFactory.fallback", "false"); props.put("mail.smtp.host", hostName); // 设置SMTP主机 props.setProperty("mail.smtp.port", "465");//qq设置465///25 } /** * 创建MIME邮件对象 * * @return */ public boolean createMimeMessage() { try { // System.out.println("准备获取邮件会话对象!"); session = Session.getDefaultInstance(props, null); // 获得邮件会话对象 session.setDebug(true); } catch(Exception e){ System.err.println("获取邮件会话对象时发生错误!" + e); return false; } // System.out.println("准备创建MIME邮件对象!"); try { mimeMsg = new MimeMessage(session); // 创建MIME邮件对象 mp = new MimeMultipart(); return true; } catch(Exception e){ System.err.println("创建MIME邮件对象失败!" + e); return false; } } /** * 设置SMTP是否需要验证 * * @param need */ public void setNeedAuth(boolean need) { // System.out.println("设置smtp身份认证:mail.smtp.auth = "+need); if(props == null) props = System.getProperties(); if(need){ props.put("mail.smtp.auth","true"); }else{ props.put("mail.smtp.auth","false"); } } /** * 设置用户名和密码 * * @param name * @param pass */ public void setNamePass(String name,String pass) { username = name; password = pass; } /** * 设置邮件主题 * * @param mailSubject * @return */ public boolean setSubject(String mailSubject) { // System.out.println("设置邮件主题!"); try{ mimeMsg.setSubject(mailSubject); return true; } catch(Exception e) { System.err.println("设置邮件主题发生错误!"); return false; } } /** * 设置邮件正文 * * @param mailBody * String */ public boolean setBody(String mailBody) { try{ BodyPart bp = new MimeBodyPart(); bp.setContent(""+mailBody,"text/html;charset=GBK"); mp.addBodyPart(bp); return true; } catch(Exception e){ System.err.println("设置邮件正文时发生错误!" + e); return false; } } /** * 添加附件 * * @param filename * String */ public boolean addFileAffix(String filename) { // System.out.println("增加邮件附件:"+filename); try{ BodyPart bp = new MimeBodyPart(); FileDataSource fileds = new FileDataSource(filename); bp.setDataHandler(new DataHandler(fileds)); bp.setFileName(MimeUtility.encodeText(fileds.getName())); mp.addBodyPart(bp); return true; } catch(Exception e){ System.err.println("增加邮件附件:" + filename + "发生错误!" + e); return false; } } /** * 设置发信人 * * @param from * String */ public boolean setFrom(String from) { // System.out.println("设置发信人!"); try{ mimeMsg.setFrom(new InternetAddress(from)); // 设置发信人 return true; } catch(Exception e) { return false; } } /** * 设置收信人 * * 设置属性 * private Properties p; // p是属性集合类,用来设置邮件的一些属性比如timeout等 * p.put("userName","xxx@163.com"); //这里填上你的邮箱(发送方) * 构件MimeMessage 对象,并设置在发送给收信人之前给自己(发送方)抄送一份 * MimeMessage msg = mailSender.createMimeMessage(); * msg.addRecipients(MimeMessage.RecipientType.CC, InternetAddress.parse(p.getProperty("userName"))); * * @param to * String */ public boolean setTo(String[] to,String from){ if(to == null)return false; try{ mimeMsg.addRecipients(Message.RecipientType.CC,InternetAddress.parse(from));//给自己抄送一份 int mailSize = to.length; for(int i = 0; i < mailSize; i++){ InternetAddress toStr = new InternetAddress(to[i]); mimeMsg.addRecipients(Message.RecipientType.TO, InternetAddress.parse(toStr.toString())); } return true; } catch(Exception e) { return false; } } /** * 发送邮件 */ public boolean sendOut() { try{ mimeMsg.setContent(mp); mimeMsg.saveChanges(); // System.out.println("正在发送邮件...."); Session mailSession = Session.getInstance(props,null); Transport transport = mailSession.getTransport("smtp"); transport.connect((String)props.get("mail.smtp.host"),username,password); transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients()); //transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO)); System.out.println("发送邮件成功!"); transport.close(); return true; } catch(Exception e) { System.err.println("邮件发送失败!" + e); return false; } } /** * 调用sendOut方法完成邮件发送 * * @param smtp * @param from * @param to * @param subject * @param content * @param username * @param password * @return boolean */ public static boolean send(String smtp,String from,String[] to,String subject,String content,String username,String password) { MailUtil theMail = new MailUtil(smtp); theMail.setNeedAuth(true); // 需要验证 if(!theMail.setSubject(subject)) return false; if(!theMail.setBody(content)) return false; if(!theMail.setTo(to,from)) return false; if(!theMail.setFrom(from)) return false; theMail.setNamePass(username,password); if(!theMail.sendOut()) return false; return true; } /** * 调用sendOut方法完成邮件发送,带附件 * * @param smtp * @param from * @param to * @param subject * @param content * @param username * @param password * @param filename * 附件路径 * @return */ public static boolean send(String smtp,String from,String[] to,String subject,String content,String username,String password,String filename) { MailUtil theMail = new MailUtil(smtp); theMail.setNeedAuth(true); // 需要验证 if(!theMail.setSubject(subject)) return false; if(!theMail.setBody(content)) return false; if(!theMail.addFileAffix(filename)) return false; if(!theMail.setTo(to,from)) return false; if(!theMail.setFrom(from)) return false; theMail.setNamePass(username,password); if(!theMail.sendOut()) return false; return true; } }
rtp协议中文版.pdf
rtp<em>协议</em>中文版.pdf
WebRTC之RTCP
文章目录RTCPSR(Sender Report RTCP Packet)RR(Receiver Report RTCP Packet)SDES(Source Description RTCP Packet)BYE(Goodbye RTCP Packet)APP(Application-Defined RTCP Packet)RTPFB(Transport layer FB messages)[N...
rtcp协议详解
https://blog.csdn.net/bytxl/article/details/50400987
ONVIF协议解读
一、什么是ONVIF? 1.1形成 2008年5月,由安讯士(AXIS)联合博世(BOSCH)及索尼(SONY)公司三方宣布携手共同成立一个国际开放型网络视频产品标准网络接口开发论坛,取名为ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛),并以公开、开放的原则共同制定开放性行业标准。ONVIF标准将为网络视频设备之间的信息交
RTP 基于UDP和TCP协议传输数据的详解以及RTSP协议请求流程详解
1、RTP over RTSP(TCP)优势 对于RTP包为什么用TCP来传输: ①UDP<em>协议</em>上的RTSP/RTP需要打开许多UDP端口,一个端口用于RTSP通信,n个端口用于RTP,n个端口用于RTCP ②中间网络路由器很容易就过滤或者忽略掉UDP数据包 ③UDP是不可靠传输<em>协议</em>,媒体包在因特网上传输时会面临着丢包 2、RTP over RTSP(TCP) 与 RTP over RTSP(...
RTP协议详解
1)RTP是实时数据传输<em>协议</em>。它提供时间标志,序列号以及其它能够保证在实时数据传输时处理时间的方法;它是依靠RVSP保证服务质量标准的。 2)RTCP是RTP的控制部分,是用来保证服务质量和成员管理的。 3)RTSP是开始和指引流媒体数据从流媒体服务器。它又可叫做"网上录像机控制<em>协议</em>".它是提供远程的控制,具体的数据传输是交给RTP的。 2.RTP/RTCP<em>协议</em>层次和封装 RTP位于传
H264结构
前言建议先看一下FFmpeg3的iOS版的入门格式转换器(无编码),我们可以了解H264处于编解码层。为什么需要编码呢?比如当前屏幕是1280*720.一秒24张图片.那么我们一秒的视频数据是11280*720(位像素)*24(张) / 8(1字节8位)(结果:B) / 1024(结果:KB) / 1024 (结果:MB) = 2.64MB一秒的数据有2.64MB数据量。1分钟就会有100多MB...
各位前辈大牛,RTP over UDP和RTP over RTSP有什么区别?
1.RTP over UDP和RTP over RTSP有什么区别? 2.RTP over RTSP是不是就是RTP over TCP? 3.RTP over TCP 打包视频是不是要加4个字节的头,
rtsp地址是什么?每个摄像头都有一个RTSP地址么?
最近需要做一个实时监控摄像头的功能,H5stream好像可以达成,现在有些疑惑,<em>rtsp</em>地址是自己配置还是代码生成,还是摄像头自带?
RTP/RTCP 和 SRTP/SRTCP协议
RTP/RTCP 和 SRTP/SRTCP<em>协议</em> 1 RTP RTP <em>协议</em>(Real TimeProtocol)提供具有实时特征的、端到端的数据传送服务,可用来传送声音和运动图像数据。在这项数据传送服务中包含了装载数据的标识符、序列计数、时戳和传送监视。通常 RTP 的<em>协议</em>元是用 UDP <em>协议</em>元来装载的,并利用 UDP 的复用和校验和来实现 RTP 的复用。 1.1    固定报头的 RTP
RTCP协议介绍
RTCP概要实时传输控制<em>协议</em>(R eal-t ime C ontrol P rotocol ,RTCP) 与RTP 共同定义在1996 年提出的RFC 1889 中,是和 RTP 一起工作的控制<em>协议</em>。RTCP 单独运行在低层<em>协议</em>上,由低层<em>协议</em>提供数据与控制包的复用。在RTP 会话期间,每个会话参与者周期性地向所有其他参与者发送RTCP 控制信息包,如下图所示。对于RTP 会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有
RTP/RTCP协议的补充(RTCP发送时间间隔)
http://www.cnblogs.com/Jimmly/archive/2009/08/03/1537293.html  关于RTP/RTCP<em>协议</em>的介绍,还是在早前的基于sip<em>协议</em>的Push To Talk项目中写到了少许。RTP/RTCP<em>协议</em>相对来说是一个比较简单的<em>协议</em>,这里补充一点关于RTP/RTCP<em>协议</em>的知识。说是RTP/RTCP的知识,其实这里只补充了RT
RTCP协议原理
RTCP原理是向会话中的所有成员周期性地发送控制包来实现的,应用程序通过接收这些控制数据包,从中获取 会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进 行诊断. RTCP<em>协议</em>的功能是通过不同的RTCP数据报文(具体描述的见2.2.2RTCP数据包格式)来实现的,主要有如下几种 类型: SR(Sender Report) 发送端报告,所
RTCP抖动、丢包率的计算方法
英语的,RTCP包的计算方法,有公式 Quality-of-service monitoring and reporting » Real-time control protocol RTCP
rtcp 关键帧请求总结
第一类:关键帧请求 主要包括SLI/PLI/FIR,作用是在关键帧丢失无法解码时,请求发送方重新生成并发送一个关键帧。 这本质是一种重传,但是跟传输层的重传的区别是,它重传是最新生成的帧。 PLI 是Picture Loss Indication,SLI 是Slice Loss Indication。 发送方接收到接收方反馈的PLI或SLI需要重新让编码器生成关键帧并发送给接收端。...
licode media 5 rtp : RtcpForwarder
RtcpProcessor 是一种service 是一种service class RtcpProcessor : public Service { service 是一种 servicebase和servicecontext 构成的用来控制pipeline的 class Service : public ServiceBase&lt;ServiceContext&gt; { ...
RTP/RTCP 视频数据传输
直接进入正题,经过JPEG压缩后的数据时通过RTP/RTCP<em>协议</em>传输到网络上去的,本课题使用的是Jrtplib的RTP/RTCP<em>协议</em>栈,首先在网上获取Jrtplib包的源码,解压缩配置编译安装,没有bugs就ok了      在源码包里面有好几个examples,都可以借鉴。在设
RTCP协议解析--RR
RR包为接收反馈RTCP包,向服务端反馈当前接收到的RTP的情况。定义如下:使用wireshark抓包工具,抓取了一个RR包,如下:解析如下:Version(V) :2bits识别 RTP 版本,RTCP 报文也一样、一般为2.padding (P):1 bit如果设定了 padding 位,这个个别的 RTCP 报文在尾部包含一些附加的padding 字段,不是控制信息但却包含在长度域中。pad...
RTCP协议详解:rr包(非第一个rr包)
rtcp格式解析:rr包(非第一个rr包) rfc 标准文档:https://tools.ietf.org/html/rfc3550#section-6.4.2 说明: 这是一个线上的抓包 视频(h264)的rr包 抓包时长大约10秒钟 每秒一个rr包(应该是由于每秒收到一个sr包,然后再发送rr包) 疑问:last sr 和 delay since last sr timestamp还是...
RTCP协议详解:sr包(非第一个sr包)
rtcp解析:sr包(非第一个sr包) rfc官方文档地址:https://tools.ietf.org/html/rfc3550#section-6.4.1 说明: 视频(h264)的sr包 抓包时长约10秒钟 80 版本是2 没有填充 没有report block c8 200 说明是sr包 00 06 rtcp payload长度 (6+1)*4 = 27字节 5a ...
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
数据库管理工具易飞7.0包下载
数据库管理工具易飞7.0包 相关下载链接:[url=//download.csdn.net/download/wesleykang/4022838?utm_source=bbsseo]//download.csdn.net/download/wesleykang/4022838?utm_source=bbsseo[/url]
Linux TCP IP 协议栈分析下载
Linux TCP IP 协议栈分析 相关下载链接:[url=//download.csdn.net/download/ilovemyqiqi/4401192?utm_source=bbsseo]//download.csdn.net/download/ilovemyqiqi/4401192?utm_source=bbsseo[/url]
DCT分解重构原信号下载
生成DCT基后进行压缩,此程序使用的是MATLAB,语句可运行,但为提供WI语音信号,可替换成其他的语音文件 相关下载链接:[url=//download.csdn.net/download/u012950695/6608795?utm_source=bbsseo]//download.csdn.net/download/u012950695/6608795?utm_source=bbsseo[/url]
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
我们是很有底线的