Skip to content

Commit e0a0969

Browse files
authored
Merge pull request #26 from libxengine/develop
V2.8.0.1001 Merge
2 parents 2208122 + da7a375 commit e0a0969

File tree

77 files changed

+1513
-7960
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1513
-7960
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "XEngine_Source/XEngine_Depend"]
2+
path = XEngine_Source/XEngine_Depend
3+
url = https://github.com/libxengine/XEngine_OPenSource.git

CHANGELOG

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,45 @@
1+
XEngine_StreamMedia V2.8.0.1001
2+
3+
增加:支持srtcp和srtp处理数据了
4+
增加:信息报告功能
5+
增加:SSRC会话设置
6+
更新:移除JSONCPP模块并使用GIT SUBMODULE替代
7+
修改:分离了版本列表配置从主配置中
8+
修改:配置文件支持日志设置
9+
修改:sdp的打包已经能够正常使用了
10+
修改:dtls握手处理已经能够正常使用
11+
修改:某些时候aac包过大问题提示
12+
修改:rtc和rtcp协议判断
13+
修改:srt有初始化和反初始化函数
14+
修改:srt和srtp默认关闭了
15+
修正:日志配置没有效果的问题
16+
修正:STUN的IP和端口不正确的问题
17+
修正:STUN协议处理不正确导致返回数据不正确的问题
18+
修正:某些时候av包缓冲溢出问题
19+
修正:dtls判断某些时候出错的问题
20+
修正:http api日志打印出错
21+
修正:关闭srtp和srt编译选项没有效果的问题
22+
23+
added:srtcp and srtp process data
24+
added:info report
25+
added:ssrc set for session module
26+
update:remove jsoncpp and use git submodule instead
27+
modify:detach version list from main configure
28+
modify:set log file for configure
29+
modify:sdp packet work now
30+
modify:dtls handshakes is work now
31+
modify:sometime aac packet size is to big and tips
32+
modify:rtc rtcp judgment
33+
modify:have function for srt init and destory
34+
modify:srt and rtc off by default
35+
fixed:log configure is not work
36+
fixed:stun ip and port is incorrect
37+
fixed:stun message reply is incorrect
38+
fixed:sometimes av packet buffer is leak
39+
fixed:dtls judgment fails sometimes
40+
fixed:log print error that http api
41+
fixed:disable compile options not work for srt and rtc
42+
=======================================================
143
XEngine_StreamMedia V2.7.0.1001
244

345
增加:srtp核心代码文件

README.en.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,24 @@ Publish Stream:
2828
| ProtocolName | VideoCodec | AudioCodec | Status |
2929
| -------- | --------- | -------- | -------- |
3030
| RTMP | H264 | AAC | Completed |
31-
| SRT | H264,H265 | AAC | Completed |
31+
| SRT | H264 | AAC | Completed |
3232
| WEBRTC | H264 | OPUS | Not Start |
3333
| GB28181 | H264 | AAC | Not Start |
3434
| JT1078 | H264 | AAC | Completed |
35-
| XStream | H264,H265 | AAC | Completed |
35+
| XStream | H264 | AAC | Completed |
3636

3737
Play Stream:
3838

3939
| ProtocolName | VideoCodec | AudioCodec | Status |
4040
| -------- | --------- | -------- | -------- |
4141
| RTMP | H264 | AAC | Completed |
4242
| RTSP | H264 | AAC | Completed |
43-
| M3U8 | H264,H265 | AAC | Completed |
44-
| SRT | H264,H265 | AAC | Completed |
43+
| M3U8 | H264 | AAC | Completed |
44+
| SRT | H264 | AAC | Completed |
4545
| WEBRTC | H264 | OPUS | Processing |
4646
| HTTP-FLV | H264 | AAC | Completed |
47-
| XStream | H264,H265 | AAC | Completed |
48-
| TS | H264,H265 | AAC | Completed |
47+
| XStream | H264 | AAC | Completed |
48+
| TS | H264 | AAC | Completed |
4949

5050
## install
5151

@@ -65,7 +65,7 @@ use vs open and complie,you need to install vcpkg and install depend library by
6565
vcpkg.exe install libsrt:x86-windows libsrt:x64-windows libsrtp:x86-windows libsrtp:x64-windows
6666
#### Linux
6767
install srt library after Configure Xengine to Completed
68-
ubuntu:sudo apt install libsrt-openssl-dev libsrtp2-dev
68+
ubuntu:sudo apt install libsrt-gnutls-dev libsrtp2-dev
6969
Rockylinux:sudo dnf install srt-devel srtp2-devel
7070

7171
Linux use Makefile complie

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,24 @@ c c++ streammedia server
3131
| 协议名称 | 视频格式 | 音频格式 | 当前状态 |
3232
| -------- | --------- | -------- | -------- |
3333
| RTMP | H264 | AAC | 已完成 |
34-
| SRT | H264,H265 | AAC | 已完成 |
34+
| SRT | H264 | AAC | 已完成 |
3535
| WEBRTC | H264 | OPUS | 未开始 |
3636
| GB28181 | H264 | AAC | 未开始 |
3737
| JT1078 | H264 | AAC | 已完成 |
38-
| XStream | H264,H265 | AAC | 已完成 |
38+
| XStream | H264 | AAC | 已完成 |
3939

4040
拉流协议:
4141

4242
| 协议名称 | 视频格式 | 音频格式 | 当前状态 |
4343
| -------- | --------- | -------- | -------- |
4444
| RTMP | H264 | AAC | 已完成 |
4545
| RTSP | H264 | AAC | 已完成 |
46-
| M3U8 | H264,H265 | AAC | 已完成 |
47-
| SRT | H264,H265 | AAC | 已完成 |
46+
| M3U8 | H264 | AAC | 已完成 |
47+
| SRT | H264 | AAC | 已完成 |
4848
| WEBRTC | H264 | OPUS | 进行中 |
4949
| HTTP-FLV | H264 | AAC | 已完成 |
50-
| XStream | H264,H265 | AAC | 已完成 |
51-
| TS | H264,H265 | AAC | 已完成 |
50+
| XStream | H264 | AAC | 已完成 |
51+
| TS | H264 | AAC | 已完成 |
5252

5353
## 安装教程
5454

@@ -73,7 +73,7 @@ vcpkg.exe install libsrt:x86-windows libsrt:x64-windows libsrtp:x86-windows libs
7373

7474
#### Linux
7575
配置完XEngine后需要安装srt库
76-
ubuntu:sudo apt install libsrt-openssl-dev libsrtp2-dev
76+
ubuntu:sudo apt install libsrt-gnutls-dev libsrtp2-dev
7777
Rockylinux:sudo dnf install srt-devel srtp2-devel
7878

7979
Linux使用Makefile编译

XEngine_APPClient/APPClient_FLVPull/APPClient_FLVPull.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <windows.h>
33
#include <tchar.h>
44
#pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib")
5-
#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient")
5+
#pragma comment(lib,"XEngine_Client/XClient_APIHelp")
66
#pragma comment(lib,"Ws2_32")
77
#endif
88
#include <list>
@@ -12,15 +12,14 @@
1212
#include <XEngine_Include/XEngine_ProtocolHdr.h>
1313
#include <XEngine_Include/XEngine_BaseLib/BaseLib_Define.h>
1414
#include <XEngine_Include/XEngine_BaseLib/BaseLib_Error.h>
15-
#include <XEngine_Include/XEngine_NetHelp/APIClient_Define.h>
16-
#include <XEngine_Include/XEngine_NetHelp/APIClient_Error.h>
15+
#include <XEngine_Include/XEngine_Client/APIClient_Define.h>
16+
#include <XEngine_Include/XEngine_Client/APIClient_Error.h>
1717
#include "../../XEngine_Source/XEngine_UserProtocol.h"
1818
using namespace std;
1919

2020
//需要优先配置XEngine
2121
//WINDOWS使用VS2022 x86 或者 x64 debug 编译
22-
//linux::g++ -std=c++17 -Wall -g APPClient_FLVPull.cpp -o APPClient_FLVPull.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp
23-
//macos::g++ -std=c++17 -Wall -g APPClient_FLVPull.cpp -o APPClient_FLVPull.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp
22+
//g++ -std=c++17 -Wall -g APPClient_FLVPull.cpp -o APPClient_FLVPull.exe -lXEngine_BaseLib -lXClient_APIHelp
2423
FILE* pSt_File;
2524

2625
static void CALLBACK APPClient_FLVPull_Callback(XNETHANDLE xhToken, XPVOID lpszMsgBuffer, int nMsgLen, XPVOID lParam)

XEngine_APPClient/APPClient_JT1078/APPClient_JT1078.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ using namespace std;
2626

2727
//需要优先配置XEngine
2828
//WINDOWS使用VS2022 x86 或者 x64 debug 编译
29-
//linux::g++ -std=c++17 -Wall -g APPClient_JT1078.cpp -o APPClient_JT1078.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp
30-
//macos::g++ -std=c++17 -Wall -g APPClient_JT1078.cpp -o APPClient_JT1078.exe -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp
29+
//g++ -std=c++17 -Wall -g APPClient_JT1078.cpp -o APPClient_JT1078.exe -lXEngine_BaseLib -lXEngine_OPenSsl -lXClient_Socket -lXEngine_AVHelp
3130

3231
void XEngine_Device_StrtoBCD(LPCXSTR lpszPhoneCode, XBYTE* ptszBCD)
3332
{

XEngine_APPClient/APPClient_SRTPull/APPClient_SRTPull.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
#include <XEngine_Include/XEngine_Types.h>
1111
//需要优先配置XEngine
1212
//WINDOWS使用VS2022 x86 或者 x64 debug 编译
13-
//linux::g++ -std=c++17 -Wall -g APPClient_SRTPull.cpp -o APPClient_SRTPull.exe -lsrt
14-
//macos::g++ -std=c++17 -Wall -g APPClient_SRTPull.cpp -o APPClient_SRTPull.exe -lsrt
13+
//g++ -std=c++17 -Wall -g APPClient_SRTPull.cpp -o APPClient_SRTPull.exe -lsrt
14+
1515
FILE* pSt_File;
1616

1717
int nPort = 10080;
18-
LPCXSTR lpszServiceAddr = _X("10.0.3.155");
18+
LPCXSTR lpszServiceAddr = _X("127.0.0.1");
1919

2020
int main()
2121
{
@@ -71,7 +71,7 @@ int main()
7171
{
7272
fwrite(tszMsgBuffer, 1, ret, pSt_File);
7373
}
74-
74+
printf("%d\n", ret);
7575
if (nTimeEnd - nTimeStart > 20)
7676
{
7777
break;

XEngine_APPClient/APPClient_XStream/APPClient_XStream.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
#include <tchar.h>
44
#pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib")
55
#pragma comment(lib,"XEngine_Client/XClient_Socket")
6+
#pragma comment(lib,"XEngine_Client/XClient_APIHelp")
67
#pragma comment(lib,"XEngine_AVCodec/XEngine_AVCollect")
78
#pragma comment(lib,"XEngine_AVCodec/XEngine_VideoCodec")
8-
#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient")
99
#pragma comment(lib,"Ws2_32")
1010
#endif
1111
#include <list>
@@ -17,25 +17,25 @@
1717
#include <XEngine_Include/XEngine_BaseLib/BaseLib_Error.h>
1818
#include <XEngine_Include/XEngine_Client/XClient_Define.h>
1919
#include <XEngine_Include/XEngine_Client/XClient_Error.h>
20+
#include <XEngine_Include/XEngine_Client/APIClient_Define.h>
21+
#include <XEngine_Include/XEngine_Client/APIClient_Error.h>
2022
#include <XEngine_Include/XEngine_AVCodec/AVCollect_Define.h>
2123
#include <XEngine_Include/XEngine_AVCodec/AVCollect_Error.h>
2224
#include <XEngine_Include/XEngine_AVCodec/VideoCodec_Define.h>
2325
#include <XEngine_Include/XEngine_AVCodec/VideoCodec_Error.h>
24-
#include <XEngine_Include/XEngine_NetHelp/APIClient_Define.h>
25-
#include <XEngine_Include/XEngine_NetHelp/APIClient_Error.h>
2626
#include "../../XEngine_Source/XEngine_UserProtocol.h"
2727
using namespace std;
2828

2929
//需要优先配置XEngine
3030
//WINDOWS使用VS2022 x86 或者 x64 debug 编译
31-
//linux::g++ -std=c++17 -Wall -g APPClient_XStream.cpp -o APPClient_XStream.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp
32-
//macos::g++ -std=c++17 -Wall -g APPClient_XStream.cpp -o APPClient_XStream.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp
31+
//g++ -std=c++17 -Wall -g APPClient_XStream.cpp -o APPClient_XStream.exe -lXEngine_BaseLib -lXClient_Socket -lXClient_APIHelp -lXEngine_AVCollect -lXEngine_VideoCodec
32+
3333
XSOCKET hSocket = 0;
3434
XNETHANDLE xhVideo = 0;
3535
__int64u nTimeVideo = 0;
3636
FILE* pSt_File = NULL;
3737

38-
void CALLBACK XEngine_AVCollect_CBVideo(uint8_t* punStringY, int nYLen, uint8_t* punStringU, int nULen, uint8_t* punStringV, int nVLen, XPVOID lParam)
38+
void CALLBACK XEngine_AVCollect_CBVideo(uint8_t* punStringY, int nYLen, uint8_t* punStringU, int nULen, uint8_t* punStringV, int nVLen, AVCOLLECT_TIMEINFO* pSt_TimeInfo, XPVOID lParam)
3939
{
4040
XCHAR* ptszMsgBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX);
4141
XENGINE_PROTOCOLHDR st_ProtocolHdr;
@@ -75,7 +75,7 @@ void CALLBACK XEngine_AVCollect_CBVideo(uint8_t* punStringY, int nYLen, uint8_t*
7575
free(ptszMsgBuffer);
7676
ptszMsgBuffer = NULL;
7777
}
78-
void CALLBACK XEngine_AVCollect_CBAudio(uint8_t* punStringAudio, int nVLen, XPVOID lParam)
78+
void CALLBACK XEngine_AVCollect_CBAudio(uint8_t* punStringAudio, int nVLen, AVCOLLECT_TIMEINFO* pSt_TimeInfo, XPVOID lParam)
7979
{
8080

8181
}

XEngine_APPClient/VSCopy-x86.bat

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseLib.dll" "./"
22
copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_OPenSsl.dll" "./"
33
copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./"
4+
copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./"
45
copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AVHelp.dll" "./"
56
copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AVCollect.dll" "./"
67
copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_VideoCodec.dll" "./"
7-
copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./"
88

99
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avcodec-59.dll" "./"
1010
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avdevice-59.dll" "./"
@@ -13,10 +13,4 @@ copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avformat-59.dll" "./"
1313
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avutil-57.dll" "./"
1414
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\postproc-56.dll" "./"
1515
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swresample-4.dll" "./"
16-
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swscale-6.dll" "./"
17-
18-
copy /y "%XEngine_Lib32%\XEngine_LibEx\libcrypto-3.dll" "./"
19-
copy /y "%XEngine_Lib32%\XEngine_LibEx\libssl-3.dll" "./"
20-
copy /y "%XEngine_Lib32%\XEngine_NetHelp\libcurl.dll" "./"
21-
copy /y "%XEngine_Lib32%\XEngine_NetHelp\nghttp2.dll" "./"
22-
copy /y "%XEngine_Lib32%\XEngine_HelpComponents\zlib1.dll" "./"
16+
copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swscale-6.dll" "./"

XEngine_Docment/Docment_en.docx

248 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)