├── Lib
├── arm版本编译,请将交叉编译工具链发送至support@easydarwin.org,说清需求
├── libeasyrtspclient.a
├── libEasyRTSPClient.dll
├── libEasyRTSPClient.lib
└── x64
│ └── libeasyrtspclient.a
├── main.cpp
├── Include
├── EasyTypes.h
└── EasyRTSPClientAPI.h
├── Doc
└── EasyRTSPClient.psd
├── .gitignore
├── Buildit
├── win
├── EasyRTSPClient.vcxproj.filters
├── EasyRTSPClient.vcxproj.user
├── EasyRTSPClient.sln
└── EasyRTSPClient.vcxproj
├── nbproject
├── project.xml
├── Makefile-variables.mk
├── Makefile-Debug.mk
├── Makefile-i386.mk
├── Makefile-x64.mk
├── configurations.xml
└── Makefile-impl.mk
├── README.md
└── Makefile
/Lib/arm版本编译,请将交叉编译工具链发送至support@easydarwin.org,说清需求:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/main.cpp
--------------------------------------------------------------------------------
/Include/EasyTypes.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Include/EasyTypes.h
--------------------------------------------------------------------------------
/Doc/EasyRTSPClient.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Doc/EasyRTSPClient.psd
--------------------------------------------------------------------------------
/Lib/libeasyrtspclient.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Lib/libeasyrtspclient.a
--------------------------------------------------------------------------------
/Lib/libEasyRTSPClient.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Lib/libEasyRTSPClient.dll
--------------------------------------------------------------------------------
/Lib/libEasyRTSPClient.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Lib/libEasyRTSPClient.lib
--------------------------------------------------------------------------------
/Include/EasyRTSPClientAPI.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Include/EasyRTSPClientAPI.h
--------------------------------------------------------------------------------
/Lib/x64/libeasyrtspclient.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RDFS/EasyRTSPClient/master/Lib/x64/libeasyrtspclient.a
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | #ignore thumbnails created by windows
3 | Thumbs.db
4 | #Ignore files build by Visual Studio
5 | *.obj
6 | *.exe
7 | *.pdb
8 | *.user
9 | *.aps
10 | *.pch
11 | *.vspscc
12 | *_i.c
13 | *_p.c
14 | *.ncb
15 | *.suo
16 | *.tlb
17 | *.tlh
18 | *.bak
19 | *.cache
20 | *.ilk
21 | *.log
22 | [Dd]ebug*/
23 | *.lib
24 | *.sbr
25 | obj/
26 | [Rr]elease*/
27 | _ReSharper*/
28 | [Tt]est[Rr]esult*
29 | *.sdf
30 | *.sdp
31 | *.o
32 | *.exp
33 | [Ll]ogs*/
34 | [Pp]rivate*/
35 | ipch/
36 | *.opensdf
37 | /build/
--------------------------------------------------------------------------------
/Buildit:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | usage()
4 | {
5 | echo "0. clean up ./Buildit clean"
6 | echo "1. build 32bit program ./Buildit i386 [target in i386]"
7 | echo "2. build 64bit program ./Buildit x64 [target in x64]"
8 | }
9 |
10 | if [ "$*" = "clean" ] ; then
11 | make -f nbproject/Makefile-i386.mk QMAKE= SUBPROJECTS= .clean-conf
12 | make -f nbproject/Makefile-x64.mk QMAKE= SUBPROJECTS= .clean-conf
13 | elif [ "$*" = "x64" ] ; then
14 | make -f nbproject/Makefile-x64.mk QMAKE= SUBPROJECTS= .build-conf
15 | elif [ "$*" = "i386" ] ; then
16 | make -f nbproject/Makefile-i386.mk QMAKE= SUBPROJECTS= .build-conf
17 | else
18 | usage;
19 | fi
20 |
21 |
--------------------------------------------------------------------------------
/win/EasyRTSPClient.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 |
14 |
15 | 源文件
16 |
17 |
18 |
--------------------------------------------------------------------------------
/win/EasyRTSPClient.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | path=%path%;..\Lib
5 | WindowsLocalDebugger
6 | "rtsp://127.0.0.1/live.sdp"
7 |
8 |
9 | path=%path%;..\Lib
10 | WindowsLocalDebugger
11 | "rtsp://127.0.0.1/live.sdp"
12 |
13 |
--------------------------------------------------------------------------------
/win/EasyRTSPClient.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EasyRTSPClient", "EasyRTSPClient.vcxproj", "{2C677677-3CEC-43BF-90C5-CC4246894BE5}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {2C677677-3CEC-43BF-90C5-CC4246894BE5}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {2C677677-3CEC-43BF-90C5-CC4246894BE5}.Debug|Win32.Build.0 = Debug|Win32
14 | {2C677677-3CEC-43BF-90C5-CC4246894BE5}.Release|Win32.ActiveCfg = Release|Win32
15 | {2C677677-3CEC-43BF-90C5-CC4246894BE5}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/nbproject/project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.netbeans.modules.cnd.makeproject
4 |
5 |
6 | EasyRTSPClient
7 |
8 | cpp
9 |
10 | GB2312
11 |
12 |
13 |
14 |
15 | Debug
16 | 1
17 |
18 |
19 | i386
20 | 1
21 |
22 |
23 | x64
24 | 1
25 |
26 |
27 |
28 | false
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/nbproject/Makefile-variables.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Generated - do not edit!
3 | #
4 | # NOCDDL
5 | #
6 | CND_BASEDIR=`pwd`
7 | CND_BUILDDIR=build
8 | CND_DISTDIR=dist
9 | # Debug configuration
10 | CND_PLATFORM_Debug=GNU-Linux-x86
11 | CND_ARTIFACT_DIR_Debug=Debug
12 | CND_ARTIFACT_NAME_Debug=easyrtspclient
13 | CND_ARTIFACT_PATH_Debug=Debug/easyrtspclient
14 | CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
15 | CND_PACKAGE_NAME_Debug=easyrtspclient.tar
16 | CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/easyrtspclient.tar
17 | # i386 configuration
18 | CND_PLATFORM_i386=GNU-Linux-x86
19 | CND_ARTIFACT_DIR_i386=i386
20 | CND_ARTIFACT_NAME_i386=easyrtspclient
21 | CND_ARTIFACT_PATH_i386=i386/easyrtspclient
22 | CND_PACKAGE_DIR_i386=dist/i386/GNU-Linux-x86/package
23 | CND_PACKAGE_NAME_i386=easyrtspclient.tar
24 | CND_PACKAGE_PATH_i386=dist/i386/GNU-Linux-x86/package/easyrtspclient.tar
25 | # x64 configuration
26 | CND_PLATFORM_x64=GNU-Linux-x86
27 | CND_ARTIFACT_DIR_x64=x64
28 | CND_ARTIFACT_NAME_x64=easyrtspclient
29 | CND_ARTIFACT_PATH_x64=x64/easyrtspclient
30 | CND_PACKAGE_DIR_x64=dist/x64/GNU-Linux-x86/package
31 | CND_PACKAGE_NAME_x64=easyrtspclient.tar
32 | CND_PACKAGE_PATH_x64=dist/x64/GNU-Linux-x86/package/easyrtspclient.tar
33 | #
34 | # include compiler specific variables
35 | #
36 | # dmake command
37 | ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \
38 | (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)
39 | #
40 | # gmake command
41 | .PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk))
42 | #
43 | include nbproject/private/Makefile-variables.mk
44 |
--------------------------------------------------------------------------------
/nbproject/Makefile-Debug.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Generated Makefile - do not edit!
3 | #
4 | # Edit the Makefile in the project folder instead (../Makefile). Each target
5 | # has a -pre and a -post target defined where you can add customized code.
6 | #
7 | # This makefile implements configuration specific macros and targets.
8 |
9 |
10 | # Environment
11 | MKDIR=mkdir
12 | CP=cp
13 | GREP=grep
14 | NM=nm
15 | CCADMIN=CCadmin
16 | RANLIB=ranlib
17 | CC=gcc
18 | CCC=g++
19 | CXX=g++
20 | FC=gfortran
21 | AS=as
22 |
23 | # Macros
24 | CND_PLATFORM=GNU-Linux-x86
25 | CND_DLIB_EXT=so
26 | CND_CONF=Debug
27 | CND_DISTDIR=dist
28 | CND_BUILDDIR=build
29 |
30 | # Include project Makefile
31 | include Makefile
32 |
33 | # Object Directory
34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
35 |
36 | # Object Files
37 | OBJECTFILES= \
38 | ${OBJECTDIR}/main.o
39 |
40 |
41 | # C Compiler Flags
42 | CFLAGS=
43 |
44 | # CC Compiler Flags
45 | CCFLAGS=
46 | CXXFLAGS=
47 |
48 | # Fortran Compiler Flags
49 | FFLAGS=
50 |
51 | # Assembler Flags
52 | ASFLAGS=
53 |
54 | # Link Libraries and Options
55 | LDLIBSOPTIONS=-LLib
56 |
57 | # Build Targets
58 | .build-conf: ${BUILD_SUBPROJECTS}
59 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_CONF}/easyrtspclient
60 |
61 | ${CND_CONF}/easyrtspclient: ${OBJECTFILES}
62 | ${MKDIR} -p ${CND_CONF}
63 | ${LINK.cc} -o ${CND_CONF}/easyrtspclient ${OBJECTFILES} ${LDLIBSOPTIONS} -leasyrtspclient -lpthread
64 |
65 | ${OBJECTDIR}/main.o: main.cpp
66 | ${MKDIR} -p ${OBJECTDIR}
67 | ${RM} "$@.d"
68 | $(COMPILE.cc) -g -IInclude -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
69 |
70 | # Subprojects
71 | .build-subprojects:
72 |
73 | # Clean Targets
74 | .clean-conf: ${CLEAN_SUBPROJECTS}
75 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF}
76 | ${RM} ${CND_CONF}/easyrtspclient
77 |
78 | # Subprojects
79 | .clean-subprojects:
80 |
81 | # Enable dependency checking
82 | .dep.inc: .depcheck-impl
83 |
84 | include .dep.inc
85 |
--------------------------------------------------------------------------------
/nbproject/Makefile-i386.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Generated Makefile - do not edit!
3 | #
4 | # Edit the Makefile in the project folder instead (../Makefile). Each target
5 | # has a -pre and a -post target defined where you can add customized code.
6 | #
7 | # This makefile implements configuration specific macros and targets.
8 |
9 |
10 | # Environment
11 | MKDIR=mkdir
12 | CP=cp
13 | GREP=grep
14 | NM=nm
15 | CCADMIN=CCadmin
16 | RANLIB=ranlib
17 | CC=gcc
18 | CCC=g++
19 | CXX=g++
20 | FC=gfortran
21 | AS=as
22 |
23 | # Macros
24 | CND_PLATFORM=GNU-Linux-x86
25 | CND_DLIB_EXT=so
26 | CND_CONF=i386
27 | CND_DISTDIR=dist
28 | CND_BUILDDIR=build
29 |
30 | # Include project Makefile
31 | include Makefile
32 |
33 | # Object Directory
34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
35 |
36 | # Object Files
37 | OBJECTFILES= \
38 | ${OBJECTDIR}/main.o
39 |
40 |
41 | # C Compiler Flags
42 | CFLAGS=
43 |
44 | # CC Compiler Flags
45 | CCFLAGS=-m32
46 | CXXFLAGS=-m32
47 |
48 | # Fortran Compiler Flags
49 | FFLAGS=
50 |
51 | # Assembler Flags
52 | ASFLAGS=
53 |
54 | # Link Libraries and Options
55 | LDLIBSOPTIONS=-LLib
56 |
57 | # Build Targets
58 | .build-conf: ${BUILD_SUBPROJECTS}
59 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_CONF}/easyrtspclient
60 |
61 | ${CND_CONF}/easyrtspclient: ${OBJECTFILES}
62 | ${MKDIR} -p ${CND_CONF}
63 | ${LINK.cc} -o ${CND_CONF}/easyrtspclient ${OBJECTFILES} ${LDLIBSOPTIONS} -leasyrtspclient -lpthread
64 |
65 | ${OBJECTDIR}/main.o: main.cpp
66 | ${MKDIR} -p ${OBJECTDIR}
67 | ${RM} "$@.d"
68 | $(COMPILE.cc) -O2 -IInclude -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
69 |
70 | # Subprojects
71 | .build-subprojects:
72 |
73 | # Clean Targets
74 | .clean-conf: ${CLEAN_SUBPROJECTS}
75 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF}
76 | ${RM} ${CND_CONF}/easyrtspclient
77 |
78 | # Subprojects
79 | .clean-subprojects:
80 |
81 | # Enable dependency checking
82 | .dep.inc: .depcheck-impl
83 |
84 | include .dep.inc
85 |
--------------------------------------------------------------------------------
/nbproject/Makefile-x64.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Generated Makefile - do not edit!
3 | #
4 | # Edit the Makefile in the project folder instead (../Makefile). Each target
5 | # has a -pre and a -post target defined where you can add customized code.
6 | #
7 | # This makefile implements configuration specific macros and targets.
8 |
9 |
10 | # Environment
11 | MKDIR=mkdir
12 | CP=cp
13 | GREP=grep
14 | NM=nm
15 | CCADMIN=CCadmin
16 | RANLIB=ranlib
17 | CC=gcc
18 | CCC=g++
19 | CXX=g++
20 | FC=gfortran
21 | AS=as
22 |
23 | # Macros
24 | CND_PLATFORM=GNU-Linux-x86
25 | CND_DLIB_EXT=so
26 | CND_CONF=x64
27 | CND_DISTDIR=dist
28 | CND_BUILDDIR=build
29 |
30 | # Include project Makefile
31 | include Makefile
32 |
33 | # Object Directory
34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
35 |
36 | # Object Files
37 | OBJECTFILES= \
38 | ${OBJECTDIR}/main.o
39 |
40 |
41 | # C Compiler Flags
42 | CFLAGS=
43 |
44 | # CC Compiler Flags
45 | CCFLAGS=
46 | CXXFLAGS=
47 |
48 | # Fortran Compiler Flags
49 | FFLAGS=
50 |
51 | # Assembler Flags
52 | ASFLAGS=
53 |
54 | # Link Libraries and Options
55 | LDLIBSOPTIONS=-LLib/${CND_CONF}
56 |
57 | # Build Targets
58 | .build-conf: ${BUILD_SUBPROJECTS}
59 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_CONF}/easyrtspclient
60 |
61 | ${CND_CONF}/easyrtspclient: ${OBJECTFILES}
62 | ${MKDIR} -p ${CND_CONF}
63 | ${LINK.cc} -o ${CND_CONF}/easyrtspclient ${OBJECTFILES} ${LDLIBSOPTIONS} -leasyrtspclient -lpthread
64 |
65 | ${OBJECTDIR}/main.o: main.cpp
66 | ${MKDIR} -p ${OBJECTDIR}
67 | ${RM} "$@.d"
68 | $(COMPILE.cc) -O2 -IInclude -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
69 |
70 | # Subprojects
71 | .build-subprojects:
72 |
73 | # Clean Targets
74 | .clean-conf: ${CLEAN_SUBPROJECTS}
75 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF}
76 | ${RM} ${CND_CONF}/easyrtspclient
77 |
78 | # Subprojects
79 | .clean-subprojects:
80 |
81 | # Enable dependency checking
82 | .dep.inc: .depcheck-impl
83 |
84 | include .dep.inc
85 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # EasyRTSPClient #
2 |
3 | EasyRTSPClient是EasyDarwin开源流媒体团队成员Gavin开发、提供的一套非常稳定、易用、支持重连的RTSPClient工具,接口调用非常简单,再也不用像调用live555那样处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,担心内存释放的问题了,全平台支持(包括Windows/Linux 32&64,ARM各平台,Android,IOS),接口简单且成熟稳定!
4 |
5 | ## 调用示例 ##
6 |
7 | - **EasyRTSPClient**:以RTSPClient的形式,从RTSP URL将音视频获取到本地;
8 |
9 | Windows编译方法,
10 |
11 | Visual Studio 2010 编译:./EasyRTSPClient-master/win/EasyRTSPClient.sln
12 |
13 | Linux编译方法,
14 |
15 | chmod +x ./Buildit
16 | ./Buildit
17 |
18 |
19 | - **EasyDarwin**:您也可以参考EasyDarwin中EasyHLSSession(HLS直播模块)、EasyRelaySession(RTSP转发模块)对EasyRTSPClient库的调用方法,详细请看:[https://github.com/EasyDarwin/EasyDarwin](https://github.com/EasyDarwin/EasyDarwin "EasyDarwin");
20 |
21 | - **我们同时提供Windows、Linux、ARM版本的libEasyRTSPClient库**:arm版本请将交叉编译工具链发送至[support@easydarwin.org](mailto:support@easydarwin.org "EasyDarwin mail"),我们会帮您具体编译
22 |
23 | ## 调用流程 ##
24 | 
25 |
26 |
27 | ## 设计方法 ##
28 | EasyRTSPClient参考live555 testProg中的testRTSPClient示例程序,将一个live555 testRTSPClient封装在一个类中,例如,我们称为Class EasyRTSPClient,在EasyRTSP_Init接口调用时,我们新建EasyRTSPClient对象、在EasyRTSP_OpenStream接口调用时,我们建立线程,装载live555的TaskScheduler->SingleStep(0),然后再进行RTSP的具体流程,这个就可以直接用testRTSPClient的使用流程了、关闭RTSPClient,我们调用EasyRTSP_CloseStream接口,内部实现参考testRTSPClient中的shutdownStream方法,最后delete EasyRTSPClient类,这样整个过程就完整了!
29 |
30 | ### RTSPSourceCallBack数据回调说明 ###
31 | EasyRTSPClient可以回调出多种类型的数据:
32 |
33 | #define EASY_SDK_VIDEO_FRAME_FLAG /* 视频帧数据 */
34 | #define EASY_SDK_AUDIO_FRAME_FLAG /* 音频帧数据 */
35 | #define EASY_SDK_EVENT_FRAME_FLAG /* 事件帧数据 */
36 | #define EASY_SDK_RTP_FRAME_FLAG /* RTP帧数据 */
37 | #define EASY_SDK_SDP_FRAME_FLAG /* SDP帧数据 */
38 | #define EASY_SDK_MEDIA_INFO_FLAG /* 媒体类型数据 */
39 |
40 | EASY\_SDK\_VIDEO\_FRAME\_FLAG数据可支持多种视频格式:
41 |
42 | #define EASY_SDK_VIDEO_CODEC_H264 /* H264 */
43 | #define EASY_SDK_VIDEO_CODEC_MJPEG /* MJPEG */
44 | #define EASY_SDK_VIDEO_CODEC_MPEG4 /* MPEG4 */
45 |
46 |
47 | > ***当回调出RTSP_FRAME_INFO->codec为EASY\_SDK\_VIDEO\_CODEC\_H264数据,RTSP_FRAME_INFO->type为EASY\_SDK\_VIDEO\_FRAME\_I关键帧时,我们输出的数据结构为SPS+PPS+I的组合***:
48 |
49 | |---------sps---------|-------pps-------|---------------I Frame---------------|
50 | | | | |
51 | 0-----------------reserved1---------reserved2-------------------------------length
52 |
53 |
54 | EASY\_SDK\_AUDIO\_FRAME\_FLAG数据可支持多种音频格式:
55 |
56 | #define EASY_SDK_AUDIO_CODEC_AAC /* AAC */
57 | #define EASY_SDK_AUDIO_CODEC_G711A /* G711 alaw*/
58 | #define EASY_SDK_AUDIO_CODEC_G711U /* G711 ulaw*/
59 |
60 |
61 | ## 获取更多信息 ##
62 |
63 | 邮件:[support@easydarwin.org](mailto:support@easydarwin.org)
64 |
65 | WEB:[www.EasyDarwin.org](http://www.easydarwin.org)
66 |
67 | Author:[Gavin@EasyDarwin.org](mailto:Gavin@EasyDarwin.org "Gavin@EasyDarwin.org")
68 |
69 | QQ交流群:[465901074](http://jq.qq.com/?_wv=1027&k=2G045mo "EasyRTSPClient")
70 |
71 | Copyright © EasyDarwin.org 2012-2016
72 |
73 | 
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | #
2 | # There exist several targets which are by default empty and which can be
3 | # used for execution of your targets. These targets are usually executed
4 | # before and after some main targets. They are:
5 | #
6 | # .build-pre: called before 'build' target
7 | # .build-post: called after 'build' target
8 | # .clean-pre: called before 'clean' target
9 | # .clean-post: called after 'clean' target
10 | # .clobber-pre: called before 'clobber' target
11 | # .clobber-post: called after 'clobber' target
12 | # .all-pre: called before 'all' target
13 | # .all-post: called after 'all' target
14 | # .help-pre: called before 'help' target
15 | # .help-post: called after 'help' target
16 | #
17 | # Targets beginning with '.' are not intended to be called on their own.
18 | #
19 | # Main targets can be executed directly, and they are:
20 | #
21 | # build build a specific configuration
22 | # clean remove built files from a configuration
23 | # clobber remove all built files
24 | # all build all configurations
25 | # help print help mesage
26 | #
27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
28 | # .help-impl are implemented in nbproject/makefile-impl.mk.
29 | #
30 | # Available make variables:
31 | #
32 | # CND_BASEDIR base directory for relative paths
33 | # CND_DISTDIR default top distribution directory (build artifacts)
34 | # CND_BUILDDIR default top build directory (object files, ...)
35 | # CONF name of current configuration
36 | # CND_PLATFORM_${CONF} platform name (current configuration)
37 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
38 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
39 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
40 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
41 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration)
42 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration)
43 | #
44 | # NOCDDL
45 |
46 |
47 | # Environment
48 | MKDIR=mkdir
49 | CP=cp
50 | CCADMIN=CCadmin
51 |
52 |
53 | # build
54 | build: .build-post
55 |
56 | .build-pre:
57 | # Add your pre 'build' code here...
58 |
59 | .build-post: .build-impl
60 | # Add your post 'build' code here...
61 |
62 |
63 | # clean
64 | clean: .clean-post
65 |
66 | .clean-pre:
67 | # Add your pre 'clean' code here...
68 |
69 | .clean-post: .clean-impl
70 | # Add your post 'clean' code here...
71 |
72 |
73 | # clobber
74 | clobber: .clobber-post
75 |
76 | .clobber-pre:
77 | # Add your pre 'clobber' code here...
78 |
79 | .clobber-post: .clobber-impl
80 | # Add your post 'clobber' code here...
81 |
82 |
83 | # all
84 | all: .all-post
85 |
86 | .all-pre:
87 | # Add your pre 'all' code here...
88 |
89 | .all-post: .all-impl
90 | # Add your post 'all' code here...
91 |
92 |
93 | # build tests
94 | build-tests: .build-tests-post
95 |
96 | .build-tests-pre:
97 | # Add your pre 'build-tests' code here...
98 |
99 | .build-tests-post: .build-tests-impl
100 | # Add your post 'build-tests' code here...
101 |
102 |
103 | # run tests
104 | test: .test-post
105 |
106 | .test-pre: build-tests
107 | # Add your pre 'test' code here...
108 |
109 | .test-post: .test-impl
110 | # Add your post 'test' code here...
111 |
112 |
113 | # help
114 | help: .help-post
115 |
116 | .help-pre:
117 | # Add your pre 'help' code here...
118 |
119 | .help-post: .help-impl
120 | # Add your post 'help' code here...
121 |
122 |
123 |
124 | # include project implementation makefile
125 | include nbproject/Makefile-impl.mk
126 |
127 | # include project make variables
128 | include nbproject/Makefile-variables.mk
129 |
--------------------------------------------------------------------------------
/nbproject/configurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
19 | Makefile
20 |
21 | main.cpp
22 |
23 | Makefile
24 |
25 |
26 |
27 | default
28 | true
29 | false
30 |
31 |
32 |
33 |
34 | Include
35 |
36 |
37 |
38 |
39 |
40 | Lib
41 |
42 | -leasyrtspclient -lpthread
43 |
44 |
45 | -
46 |
47 |
48 |
49 |
50 | default
51 | true
52 | false
53 |
54 |
55 |
56 | 5
57 |
58 |
59 | 5
60 |
61 | Include
62 |
63 | -m32
64 |
65 |
66 | 5
67 |
68 |
69 | 5
70 |
71 |
72 |
73 |
74 | Lib
75 |
76 | -leasyrtspclient -lpthread
77 |
78 |
79 | -
80 |
81 |
82 |
83 |
84 | default
85 | true
86 | false
87 |
88 |
89 |
90 | 5
91 |
92 |
93 | 5
94 |
95 | Include
96 |
97 |
98 |
99 | 5
100 |
101 |
102 | 5
103 |
104 |
105 |
106 |
107 | Lib/${CND_CONF}
108 |
109 | -leasyrtspclient -lpthread
110 |
111 |
112 | -
113 |
114 |
115 |
116 |
117 |
--------------------------------------------------------------------------------
/nbproject/Makefile-impl.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Generated Makefile - do not edit!
3 | #
4 | # Edit the Makefile in the project folder instead (../Makefile). Each target
5 | # has a pre- and a post- target defined where you can add customization code.
6 | #
7 | # This makefile implements macros and targets common to all configurations.
8 | #
9 | # NOCDDL
10 |
11 |
12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB
13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro
14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
15 | # and .clean-reqprojects-conf unless SUB has the value 'no'
16 | SUB_no=NO
17 | SUBPROJECTS=${SUB_${SUB}}
18 | BUILD_SUBPROJECTS_=.build-subprojects
19 | BUILD_SUBPROJECTS_NO=
20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
21 | CLEAN_SUBPROJECTS_=.clean-subprojects
22 | CLEAN_SUBPROJECTS_NO=
23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
24 |
25 |
26 | # Project Name
27 | PROJECTNAME=EasyRTSPClient
28 |
29 | # Active Configuration
30 | DEFAULTCONF=Debug
31 | CONF=${DEFAULTCONF}
32 |
33 | # All Configurations
34 | ALLCONFS=Debug i386 x64
35 |
36 |
37 | # build
38 | .build-impl: .build-pre .validate-impl .depcheck-impl
39 | @#echo "=> Running $@... Configuration=$(CONF)"
40 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
41 |
42 |
43 | # clean
44 | .clean-impl: .clean-pre .validate-impl .depcheck-impl
45 | @#echo "=> Running $@... Configuration=$(CONF)"
46 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
47 |
48 |
49 | # clobber
50 | .clobber-impl: .clobber-pre .depcheck-impl
51 | @#echo "=> Running $@..."
52 | for CONF in ${ALLCONFS}; \
53 | do \
54 | "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
55 | done
56 |
57 | # all
58 | .all-impl: .all-pre .depcheck-impl
59 | @#echo "=> Running $@..."
60 | for CONF in ${ALLCONFS}; \
61 | do \
62 | "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
63 | done
64 |
65 | # build tests
66 | .build-tests-impl: .build-impl .build-tests-pre
67 | @#echo "=> Running $@... Configuration=$(CONF)"
68 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
69 |
70 | # run tests
71 | .test-impl: .build-tests-impl .test-pre
72 | @#echo "=> Running $@... Configuration=$(CONF)"
73 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
74 |
75 | # dependency checking support
76 | .depcheck-impl:
77 | @echo "# This code depends on make tool being used" >.dep.inc
78 | @if [ -n "${MAKE_VERSION}" ]; then \
79 | echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
80 | echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
81 | echo "include \$${DEPFILES}" >>.dep.inc; \
82 | echo "endif" >>.dep.inc; \
83 | else \
84 | echo ".KEEP_STATE:" >>.dep.inc; \
85 | echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
86 | fi
87 |
88 | # configuration validation
89 | .validate-impl:
90 | @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
91 | then \
92 | echo ""; \
93 | echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
94 | echo "See 'make help' for details."; \
95 | echo "Current directory: " `pwd`; \
96 | echo ""; \
97 | fi
98 | @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
99 | then \
100 | exit 1; \
101 | fi
102 |
103 |
104 | # help
105 | .help-impl: .help-pre
106 | @echo "This makefile supports the following configurations:"
107 | @echo " ${ALLCONFS}"
108 | @echo ""
109 | @echo "and the following targets:"
110 | @echo " build (default target)"
111 | @echo " clean"
112 | @echo " clobber"
113 | @echo " all"
114 | @echo " help"
115 | @echo ""
116 | @echo "Makefile Usage:"
117 | @echo " make [CONF=] [SUB=no] build"
118 | @echo " make [CONF=] [SUB=no] clean"
119 | @echo " make [SUB=no] clobber"
120 | @echo " make [SUB=no] all"
121 | @echo " make help"
122 | @echo ""
123 | @echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
124 | @echo " also build subprojects."
125 | @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
126 | @echo " also clean subprojects."
127 | @echo "Target 'clobber' will remove all built files from all configurations and,"
128 | @echo " unless 'SUB=no', also from subprojects."
129 | @echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
130 | @echo " also build subprojects."
131 | @echo "Target 'help' prints this message."
132 | @echo ""
133 |
134 |
--------------------------------------------------------------------------------
/win/EasyRTSPClient.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 |
15 |
16 |
17 | {2C677677-3CEC-43BF-90C5-CC4246894BE5}
18 | Win32Proj
19 | EasyPusher_demo
20 | EasyRTSPClient
21 |
22 |
23 |
24 | Application
25 | true
26 | Unicode
27 | false
28 |
29 |
30 | Application
31 | false
32 | true
33 | Unicode
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | true
47 | $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include
48 | $(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib
49 | false
50 |
51 |
52 | false
53 | false
54 |
55 |
56 |
57 |
58 |
59 | Level3
60 | Disabled
61 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
62 | ../Include/
63 | MultiThreadedDebug
64 |
65 |
66 | Console
67 | true
68 | ws2_32.lib;wsock32.lib;winmm.lib;libEasyRTSPClient.lib
69 | ../Lib/
70 |
71 |
72 |
73 |
74 | Level3
75 |
76 |
77 | Disabled
78 |
79 |
80 | false
81 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
82 | ../Include/
83 | MultiThreaded
84 | EditAndContinue
85 | false
86 | true
87 | EnableFastChecks
88 |
89 |
90 | Console
91 | true
92 | true
93 | true
94 | ws2_32.lib;wsock32.lib;winmm.lib;libEasyRTSPClient.lib
95 | ../Lib/
96 |
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------