资源简介
rtsp_server 为工程主目录
livelib 为live555 库目录
DynamicRTSPServer.cpp live555MediaServer.cpp为mediaServer 中文件修改 H264LiveVideoServerMediaSubsession.cpp H264LiveVideoSource.cpp
为创建对话和获取帧类 其他为平台获取帧代码和库
代码片段和文件信息
/**********
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 3 of the License or (at your
option) any later version. (See .)
This library is distributed in the hope that it will be useful but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not write to the Free Software Foundation Inc.
51 Franklin Street Fifth Floor Boston MA 02110-1301 USA
**********/
// Copyright (c) 1996-2017 Live Networks Inc. All rights reserved
// A subclass of “RTSPServer“ that creates “ServerMediaSession“s on demand
// based on whether or not the specified stream name exists as a file
// Implementation
#include “H264LiveVideoServerMediaSubsession.hh“
#include “DynamicRTSPServer.hh“
#include
#include
DynamicRTSPServer*
DynamicRTSPServer::createNew(UsageEnvironment& env Port ourPort
UserAuthenticationDatabase* authDatabase
unsigned reclamationTestSeconds) {
int ourSocket = setUpOurSocket(env ourPort);
if (ourSocket == -1) return NULL;
return new DynamicRTSPServer(env ourSocket ourPort authDatabase reclamationTestSeconds);
}
DynamicRTSPServer::DynamicRTSPServer(UsageEnvironment& env int ourSocket
Port ourPort
UserAuthenticationDatabase* authDatabase unsigned reclamationTestSeconds)
: RTSPServerSupportingHTTPStreaming(env ourSocket ourPort authDatabase reclamationTestSeconds) {
}
DynamicRTSPServer::~DynamicRTSPServer() {
}
static ServerMediaSession* createNewSMS(UsageEnvironment& envchar const* fileName FILE* fid); // forward
ServerMediaSession* DynamicRTSPServer::lookupServerMediaSession(char const* streamName Boolean isFirstLookupInSession)
{
// Next check whether we already have a “ServerMediaSession“ for this file:
ServerMediaSession* sms = RTSPServer::lookupServerMediaSession(streamName);
Boolean smsExists = sms != NULL;
if (sms == NULL) {
sms = createNewSMS(envir() streamName NULL);
addServerMediaSession(sms);
}
return sms;
}
#define NEW_SMS(description) do {\
char const* descStr = description\
“ streamed by the LIVE555 Media Server“;\
sms = ServerMediaSession::createNew(env fileName fileName descStr);\
} while(0)
static ServerMediaSession* createNewSMS(UsageEnvironment& envchar const* fileName FILE* /*fid*/)
{
printf(“filename =%s\n“fileName);
if(fileName == NULL) return NULL;
// Use the file name extension to determine the type of “ServerMediaSession“:
// char const* h264 = strcasestr(fileName “-stream“);
ServerMediaSession* sms = NULL;
Boolean const reuseSource = True;
sms->ad
- 上一篇:Robot Soccer v1.5a
- 下一篇:时光驻留器+痕迹擦除器
相关资源
- live555 RTSP RTCP RTP。live555类关系图,
- 一个h.264文件,可以作为live555的测试
- Windows下利用live555实现H264实时流RTSP发
- live555实现H264实时流进行RTSP发送
- 基于hi3531的live555发送h264
- live555-20181214基于ARM-linux从网络摄像机
- vs2013 live555流媒体服务 直播点播编译
- 基于live555实现的rtsp点播客户端,并将
- Live555_2017-vs2015 x64 x86 完全编译版本(
- live555流媒体服务器windows版
- Linux基于Live555从共享内存 获取rstp实时
- live555 的openRTSP 改写
- live555代理服务器
- 基于Live555的从多个摄像头实时获取
- Live555基于h264嵌入式linux下rtsp项目的裁
- testRTSPClient+mp4v2录制mp4
- live555MediaServer.exe
- Live555 Media Server是一个纯粹的RTSP服务
- V4L2+FFMPEG+live555实现流媒体服务端
评论
共有 条评论