`
johnnywww
  • 浏览: 20860 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

解决live555支持real player通过rtp-over-tcp访问问题

 
阅读更多

现在用live555(版本2010-05-29)开发rtsp服务器,主要将h264转为h263然后用live555实现rtsp等协议可以让vlc、quicktime、realplayer等播放软件访问。现在测试发现realplayer(版本sp 1.1.4)通过rtp-over-tcp在局域网可以访问服务器并且播放,但是我将软件部署在一个公网服务器上,就无法通过realplayer播放了,但是vlc可以。

通过wireshark抓包查看发现在服务器再响应完realplayer发出的SET_PARAMETER后,能成功播放的realplayer发送RTSP PLAY rtsp://xxx.xxx.xxx.xxx/test.3gp RTSP/1.0,不能播放的realplayer发送TCP包 rtsp [ACK] Seq=1428 Ack=1232 Win=64304 Len=0,等40几秒后realplayer再发RTSP SET_PARAMETER * RTSP/1.0,服务器报RTSP Reply: RTSP/1.0 404 Stream Not Found,然后realplayer就报无法播放。

修改rtspserver.cpp,做如下改动:

static char const* allowedCommandNames
= "OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER";

改为

static char const* allowedCommandNames
#ifndef REAL_PALYER_SUPPORT
= "OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER";
#else
= "OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER";
#endif

|| strcmp(cmdName, "SET_PARAMETER") == 0) {

改为

#ifndef REAL_PALYER_SUPPORT
|| strcmp(cmdName, "SET_PARAMETER") == 0) {
#else
) {
#endif

分享到:
评论

相关推荐

    live555-latest-tar.gz_RTP TCP_RTSP TCP_live555 rtsp_rtp tcp_rt

    【标题】"live555-latest-tar.gz" 是一个包含了Live555库的最新版本的压缩文件,主要用于实现实时传输协议(RTP)、传输控制协议(TCP)以及实时流协议(RTSP)的功能。这个库是专门为多媒体流服务设计的,特别是...

    live555-20181214基于ARM-linux从网络摄像机获取实时视频流并通过RTP推流

    标准的live555是从文件中获取视频流,本软件包是获取实时视频流。据据实情更改H264LiveVideoSource::GetFrameData() 运行testOnDemandRTSPServer, VLC rtsp://10.5.91.234:8554/h264LiveVideo

    Live555_RTSP_RTP_RTP源码

    8. **社区支持**:Live555拥有活跃的开发者社区,提供了丰富的文档和示例代码,方便开发者学习和解决问题。同时,社区成员间的交流也能帮助解决实际开发中遇到的问题。 综上所述,Live555的RTSP和RTP源码是实现高效...

    live555 rtp rtsp

    《live555 RTP RTSP流媒体开发源代码详解》 在数字媒体传输领域,RTP(Real-time Transport Protocol)和RTSP(Real-Time Streaming Protocol)是两种至关重要的协议,它们为实时音视频数据的传输提供了可靠的支持...

    RTP.rar_RTP 传输_RTP视频_rtp 视频_rtp-tcp_组件

    RTP(Real-time Transport Protocol)是一种网络协议,主要用于在IP网络上实时传输音频和视频数据。这个"RTP.rar"压缩包显然包含了实现RTP视频传输的相关代码和组件,可以帮助我们理解和开发基于RTP的多媒体应用。 ...

    rtp.zip_RFC3550 SOURCE CODE_RTP RFC_rtp_rtp 源代码_rtp-tcp

    RTP-TCP表示RTP协议通过TCP(Transmission Control Protocol)进行传输,而不是通常使用的UDP(User Datagram Protocol)。TCP提供可靠的数据传输,而UDP则更注重速度和低延迟,但不保证数据包的顺序或丢失。选择...

    ASME_RTP-1

    ### ASME RTP-1:强化热固性塑料防腐设备标准 #### 标准概述 **ASME RTP-1**(American Society of Mechanical Engineers Reinforced Thermoset Plastic Corrosion-Resistant Equipment)是一项美国国家标准,旨在...

    RTP中文版

    RTP全称为Real-time Transport Protocol,它被设计用来支持多媒体数据的实时传输,如音频和视频流。RTP不处理数据的传输层,而是依赖于其他协议,如UDP(用户数据报协议)或TCP(传输控制协议),来提供端到端的数据...

    live555-2019-07-28版本

    在IT行业中,live555是一个广泛使用的工具,尤其在开发网络流媒体应用、VoIP(Voice over IP)服务以及RTSP(Real Time Streaming Protocol)、RTMP(Real Time Messaging Protocol)等相关协议的实现中。...

    RTP-RTCP协议实现源码

    通过深入理解并分析这个RTP-RTCP的源码,开发者可以更好地理解和优化多媒体传输过程,提升IPTV服务的质量和稳定性。同时,这对于开发自定义的实时通信应用或研究网络传输技术也是极有价值的参考资料。

    draft-ietf-payload-rtp-h265-15.pdf

    此外,该有效载荷格式还支持通过单个或多个RTP流传输HEVC比特流。当使用多个RTP流时,可以利用单个或多个传输通道。 #### H.265/HEVC视频编码标准简介 H.265/HEVC是一种高效的视频压缩标准,由ITU-T和ISO/IEC联合...

    基于ffmpeg-live555的rtsp服务器,支持h264/h265编码,支持mp4等格式

    通过Live555,我们可以构建起服务器端的RTSP服务,让客户端能够通过标准的RTSP URL(如示例中的“rtsp://ip:port/filename”)来访问和控制媒体流。 在这个项目中,开发者已经整合了FFmpeg和Live555的功能,使得...

    live 555 支持播放mp4 文件流

    【标题】:“live 555 支持播放mp4 文件流” 【描述】:“live555 是一个开源的多媒体框架,已有16年的历史。这个项目包含了源代码,用户可以直接运行genMakefile 脚本来生成适用于不同平台的makefile 文件,从而...

    基于live555库的mjpeg流传输c++代码(多播方式)

    基于live555库的mjpeg流传输c++代码(多播方式) 博客地址:https://blog.csdn.net/Di_Wong/article/details/107284635 【使用说明】 1、在http://www.live555.com/ 官网下载live555库 2、将该文件下内容替换到live...

    live555-mp4点播

    首先,live555是一个强大的实时流媒体服务器框架,它支持多种流协议,包括RTSP(Real-Time Streaming Protocol)、RTMP(Real-Time Messaging Protocol)和HTTP Live Streaming (HLS)等。live555的灵活性和可扩展性...

    rtp-tools+rtp-dump

    1,rtpplay:Play back RTP sessions recorded by rtpdump 2,rtpsend: Generate RTP packets from textual description, generated by hand or rtpdump 3,rtpdump: Parse and print RTP packets, generating ...

    RTSP&RTP&RTCP&RTMP_RTSP-RTP-RTCP-RTMP_

    RTSP(Real Time Streaming Protocol,实时流传输协议)、RTP(Real-time Transport Protocol,实时传输协议)、RTCP(Real-time Transport Control Protocol,实时传输控制协议)以及RTMP(Real-Time Messaging ...

    live555-rtsp-live-v4l2-master(ARM)

    【描述】项目名称表明,它基于"live555",这是一个广泛使用的开源实时流媒体库,支持RTSP(Real Time Streaming Protocol),RTP(Real-time Transport Protocol)和RTCP(Real-time Transport Control Protocol)。...

    live555学习文档以及H264的RTP发送程序

    《live555学习文档与H264 RTP发送程序详解》 在现代网络通信领域,实时传输协议(RTP)被广泛应用于音视频数据的传输,特别是在流媒体服务中。Live555是一个开源的C++库,专门用于实现RTP和其他实时通信协议,如...

    live555-rtsp-live-v4l2-master

    5. **实时流媒体服务器实现**:此项目的目标是将live555库与V4L2接口结合,构建一个实时流媒体服务器,允许用户通过RTSP协议访问和控制V4L2设备上的视频流。这对于远程监控、在线教育、视频会议等应用场景非常有价值...

Global site tag (gtag.js) - Google Analytics