`

crtmpserver启用rtsp功能

阅读更多

crtmpserver默认配置中没有启用rtsp服务器,需要修改以支持。buiders/cmake/crtmpserver/crtmpserver.lua中

{
    ip = "0,0,0,0",
    port = 554,
    protocol = "inboundRstp"
},

  

使用普通用户启动时,会报错权限问题,问题原因有待进一步考证

 

 

 

切换到root,启动成功。

使用ffmpeg将文件虚拟成rtsp流

$ ./ffmpeg -re -i film_1000.mp4 -vcodec copy -codec copy -f rtsp rtsp://192.168.5.202/live/rtsp_test

此时rtsp流名称并不是rtsp_test,查看sources/thelib/src/protocols/rtp/basertspappprotocol.cpp,获取streamName的代码如下: 

 

 

打印出来,可以看到,流名称叫做No Name。

需要修改代码,795行前面加一段:

1.string full_url = STR(requestHeaders[RTSP_FIRST_LINE][RTSP_URL]);
2.vector<string> lines;
3.split(full_url, "/", lines);
4.size_t rows = lines.size();
5.streamName = lines[rows-1];

 重新编译运行,使用vlc可以观看rtsp流了

分享到:
评论

相关推荐

    rtspclient_rtspclient_RTSPClient_rtsp_rtspclient

    "rtspclient"和"RTSPClient"可能是这个项目中的客户端实现,可能是一个C++或Java库,或者是一个命令行工具,用于测试和验证RTSP服务器的功能。 描述中的"RTSP流媒体,rtsp client 测试例程"表明这个压缩包包含了...

    rtsp.rar_C rtsp client_Simple RTSP_linux RTSP client_rtsp clien

    标签中的“simple_rtsp”暗示这个客户端设计简洁,可能仅包含核心功能,适合初学者学习和理解RTSP协议的工作原理。对于学习者来说,阅读和理解这个客户端的源代码可以帮助他们了解如何在实际项目中应用RTSP协议,...

    rtspclient_rtsp客户端_RTSPClient_rtsp_linux_wasuog_

    描述提到"实现rtsp的客户端,可以正常发送RTP命令,获取视频流",这表明这个客户端不仅实现了RTSP协议的基本功能,还能够处理RTP(Real-time Transport Protocol),RTP通常与RTSP一起使用,负责实际的媒体数据传输...

    rtsp.rar_RTSP c++_c RTSP_rtsp_rtsp 协议 实现_rtsp协议

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制实时音频、视频等媒体的播放。在互联网上,RTSP常用于点播和直播服务,允许客户端远程控制服务器上的媒体数据流。这个"rtsp....

    RtspServer.exe 用于测试RTSP的功能

    在本文中,我们将深入探讨RtspServer.exe这个程序如何用于测试RTSP的功能,以及它在实际应用中的作用。 首先,RtspServer.exe是一个执行文件,通常在开发或调试RTSP相关应用程序时使用,它模拟一个RTSP服务器,允许...

    java-rtsp-client.rar_RTSP JAVA_java rtsp client_rtsp_rtsp client

    RTSP协议的主要特点和功能包括: 1. **会话管理**:RTSP协议允许客户端与服务器建立并维护一个或多个会话,每个会话可以包含多个媒体流。 2. **控制操作**:客户端可以通过发送不同的RTSP命令(如DESCRIBE、SETUP、...

    Delphi7实现RTSP代码及demo_rtsp_rtspfordelphi_delphi7rtsp_delphih264_d

    在Delphi 7这样的编程环境中实现RTSP功能,可以帮助开发者创建能够处理音视频流的应用程序。本资源包提供了在Delphi 7中实现RTSP的代码示例,这对于需要处理流媒体的Delphi开发者来说是非常宝贵的。 在Delphi 7中...

    android VLC可实现rtsp播放 录屏 截图等功能

    在Android开发中,VLC库(通常称为VLC SDK)可以帮助开发者实现多种功能,如RTSP流媒体播放、屏幕录制和截图等。以下将详细介绍这些功能的实现原理和步骤。 1. **RTSP播放** RTSP(Real Time Streaming Protocol)...

    rtsp client with c++.zip_c++使用rtsp协议_rtsp c++ client_rtsp_client

    在`RTSP-master`这个项目中,你可以找到实现上述功能的源代码。通过阅读和分析代码,可以学习如何将理论知识应用于实践,理解RTSP协议在C++中的具体实现。同时,这也是一个很好的动手练习,帮助你增强网络编程和协议...

    rtsp.rar_rtsp_rtsp client c_rtsp 客户端_rtsp客户端

    文件"rtsp.c"很可能是实现RTSP协议的核心代码,可能包含发送RTSP请求、解析响应、处理会话管理和数据传输等功能。开发者可能使用了套接字编程来实现网络通信,通过TCP或UDP进行数据传输。在这个文件中,我们可能会...

    my_rtsp_test_海思推流_海思rtsp协议_海思rtsp_海思rtsp_rtsp_

    1. **建立连接**:客户端通过发送RTSP的`OPTIONS`命令来查询服务器支持的RTSP方法和功能。 2. **描述资源**:服务器响应`OPTIONS`命令后,客户端会发送`DESCRIBE`命令,请求媒体流的描述信息,如SIP或SDP(Session ...

    rtsp 流测试工具

    - VLC Media Player:虽然主要是一款媒体播放器,但它的网络流功能也可以用作简单的RTSP测试工具。 - Wireshark:网络封包分析工具,可以通过抓包来分析RTSP协议交互。 6. **优化和挑战** - 对于大规模的RTSP流...

    rtsp.rar_rtsp_rtsp client_rtsp客户端

    rtsp.c:这是实现RTSP客户端功能的核心文件,通常会包含RTSP协议的各种操作,如建立连接、发送控制命令(如DESCRIBE、SETUP、PLAY等)、接收服务器响应等。开发者可能在这里定义了处理RTSP请求和响应的函数,实现了...

    树莓派4B配置usb摄像头RTSP推流.pdf

    6. FFmpeg的命令行参数:在使用FFmpeg时,我们需要使用正确的命令行参数,以便启用H.264硬件编解码器和RTSP推流。例如,我们可以使用以下命令行参数来启用H.264硬件编解码器和RTSP推流: `ffmpeg -i /dev/video0 -c...

    rtsp流媒体测试工具

    VLC Media Player(压缩包中的`vlc-win64.exe`)虽然不是一个专业的RTSP流媒体测试工具,但它是功能强大的开源媒体播放器,支持包括RTSP在内的多种流媒体协议。通过VLC,用户可以方便地播放RTSP流,进行基本的连接和...

    基于easydarwin实现流媒体rtsp拉流,转发功能(无源码)

    在本文中,我们将深入探讨如何基于EasyDarwin实现RTSP流媒体拉流和转发功能,特别是在Windows环境下使用Visual Studio 2015进行开发。EasyDarwin是一个开源的、基于Darwin流传输协议(RTSP)的流媒体服务器平台,它...

    支持RTSP协议的Android手机摄像机

    6. APK文件:Android应用的安装包,用户可以直接在设备上安装以启用相关功能。 了解这些知识点,无论是对开发者还是直播爱好者,都能帮助他们更好地理解和利用Android设备进行高质量的实时流媒体传输。

    基于C#的RTSP客户端简单协议程序

    RtspClient可能是实现RTSP客户端功能的源代码文件,可能包含类库、接口定义和具体的RTSP操作实现。 为了进一步理解这个C# RTSP客户端的实现,你需要打开RtspClient.sln并查看源代码,理解每个函数和类的作用,以及...

Global site tag (gtag.js) - Google Analytics