1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 11:51:57 +00:00
Commit graph

6767 commits

Author SHA1 Message Date
winlin
f82f265ece SRS5: MP3: Support decode mp3 by FFmpeg natively. (#296) (#3340)
PICK 1c5788c638
2022-12-26 18:06:38 +08:00
winlin
35c89cc436 SRS5: MP3: Support dump stream information. v5.0.117 (#296) (#3339)
PICK 95defe6dad
2022-12-26 18:06:37 +08:00
winlin
2e1d99002f SRS5: Actions: Fix GitHub actions warnings.
PICK 23b7939574
2022-12-26 18:04:14 +08:00
winlin
5d48c9ce1b Refine code to allow search for conflicts. 2022-12-25 16:26:15 +08:00
winlin
ead49e747b MP3: Support play HTTP-MP3 by H5(srs-player). v6.0.7 (#296) (#3338) 2022-12-25 16:23:52 +08:00
winlin
b5aaf67c93 Merge branch v5.0.116 into develop
1. MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296) (#3333)
2. MP3: Add config examples for MP3. #296
3. Script: Refine GitHub actions.
2022-12-25 16:23:23 +08:00
winlin
f6e0b1c894 MP3: Support mp3 for RTMP/HLS/HTTP-FLV/HTTP-TS/HLS etc. v5.0.116 2022-12-25 15:48:48 +08:00
winlin
0a49638f54 MP3: Add config examples for MP3. #296 2022-12-25 12:10:29 +08:00
winlin
05d7400cd5 Merge branch v4.0.269 into 5.0release
1. MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296) (#3333)
2022-12-25 12:10:03 +08:00
Winlin
577cd299e1
MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296) (#3333)
* MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296)

1. Refresh HLS audio codec if changed in stream.
2. Refresh TS audio codec if changed in stream.
3. Fix mp3 demux bug in SrsFormat::audio_mp3_demux.
4. Use 3(MPEG1) not 4(MPEG2) as PMT stream type, follow FFmpeg.
5. MP3: Update utest for mp3 sample parsing.
6. MP3: Ignore empty frame sample.
7. UTest: Fix utest failed, do not copy files.
2022-12-25 11:43:26 +08:00
winlin
518c25aec3 Print version and signature to stdout. 2022-12-24 10:49:22 +08:00
winlin
e45563e925 Merge branch v5.0.115 into develop
1. Asan: Support parse asan symbol backtrace log. v5.0.113 (#3324)
2. GB: Refine lazy object GC. v5.0.114 (#3321)
3. Fix #3328: Docker: Avoiding duplicated copy files. v5.0.115
2022-12-24 10:27:03 +08:00
winlin
5dcd6637e3 Fix #3328: Docker: Avoiding duplicated copy files. v5.0.115 2022-12-24 10:22:42 +08:00
Winlin
6f3d6b9b65
GB: Refine lazy object GC. v5.0.114 (#3321)
* GB: Refine lazy object GC.

1. Remove gc_set_creator_wrapper, pass by resource constructor.
2. Remove SRS_LAZY_WRAPPER_GENERATOR macro, use template directly.
3. Remove interfaces ISrsGbSipConn and ISrsGbSipConnWrapper.
4. Remove ISrsGbMediaConn and ISrsGbMediaConnWrapper.

* GC: Refine wrapper constructor.

* GB: Refine lazy object GC. v5.0.114
2022-12-20 19:54:25 +08:00
ChenGH
7eaee46f1f
Asan: Support parse asan symbol backtrace log. v5.0.113 (#3324)
* asan: support parse asan symbol log

* asan: refine srs_parse_asan_backtrace_symbols error code

* asan: Refine code, extract asan log to error file.

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-18 21:14:11 +08:00
winlin
2daf637aaa Merge 5.0: FLV header and SRT bugfix. v6.0.6
1. SRT: Fix srt to rtmp crash when sps or pps empty. v5.0.112 (#3323)
2. GB28181: Fix memory overlap for small packets. v5.0.111 (#3315)
3. FLV: Support set default has_av and disable guessing. v5.0.110 (#3311)
4. FLV: Drop packet if header flag is not matched. v5.0.109 (#3306)
5. FLV: Reset has_audio or has_video if only sequence header. (#3310)
2022-12-18 11:48:09 +08:00
winlin
2f7e474853 Merge branch v5.0.112 into develop
1. SRT: Fix srt to rtmp crash when sps or pps empty. v5.0.112 (#3323)
2. GB28181: Fix memory overlap for small packets. v5.0.111 (#3315)
3. FLV: Support set default has_av and disable guessing. v5.0.110 (#3311)
4. FLV: Drop packet if header flag is not matched. v5.0.109 (#3306)
5. FLV: Reset has_audio or has_video if only sequence header. (#3310)
2022-12-18 11:44:29 +08:00
john
09a96175e8
SRT: Fix srt to rtmp crash when sps or pps empty. v5.0.112 (#3323)
* SRT: fix crash when sps/pps empty. v5.0.112

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-18 09:52:20 +08:00
Winlin
56040cab42
GB28181: Fix memory overlap for small packets. v5.0.111 (#3315) 2022-12-17 15:05:10 +08:00
Winlin
a36cb57949
FLV: Support set default has_av and disable guessing. v5.0.110 (#3311)
* FLV: Support set default has_av and disable guessing. v5.0.110

1. Support config default has_audio and has_video.
2. Support disable guessing has_audio or has_video.

* FLV: Reset to false if start to guess has_av.

* FLV: Add regression test for FLV header av metadata.
2022-12-17 14:51:48 +08:00
Winlin
4551200e95
FLV: Drop packet if header flag is not matched. v5.0.109 (#3306)
1. Ignore audo or video packets if FLV header disable it.
2. Run: Add regression test config and run for IDEA.
3. Test: Refine regression test to allow no audio/video for FLV
4. Config: Whether drop packet if not match header.
2022-12-14 21:07:14 +08:00
Winlin
35185cf844
FLV: Reset has_audio or has_video if only sequence header. (#3310)
1. Reset has_audio if got some video frames but no audio frames.
2. Reset has_video if got some audio frames but no video frames.
3. Note that audio/video frames are not sequence header.
2022-12-14 21:05:13 +08:00
Winlin
c39edf4788
Player: Support nginx-http-flv-module stream url. (#3305) 2022-12-13 21:03:44 +08:00
Winlin
476a32d417
Build: Fix build warnings (#3302)
1. Avoid default guess for expression.
2. Force to void* for memset.
2022-12-13 21:03:27 +08:00
winlin
72182865ef Merge branch v5.0.108 into develop
* DASH: Fix dash crash bug when writing file. v5.0.108 (#3301)
* Test: Refine cache for cygwin64 test.
2022-12-13 00:43:37 +08:00
john
d1bc155c8b
DASH: Fix dash crash bug when writing file. v5.0.108 (#3301)
Co-authored-by: winlin <winlin@vip.126.com>
2022-12-13 00:42:46 +08:00
winlin
4f8f6ca6f8 Merge v5.0.107 into develop
* SRT: Support SRT to RTMP to WebRTC. v5.0.107 (#3296)
2022-12-09 08:09:37 +08:00
john
bbe333d3ca
SRT: Support SRT to RTMP to WebRTC. v5.0.107 (#3296)
* SRT: Support SRT to RTMP to WebRTC. v5.0.107

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-09 08:01:12 +08:00
winlin
3049fa70eb Merge branch v5.0.106 into develop
* Build: Refine cygwin64 test script.
* API: Parse fragment of URI. v5.0.106 (#3295)
2022-12-08 18:56:53 +08:00
Haibo Chen
c5a0c5947f
API: Parse fragment of URI. v5.0.106 (#3295)
* parse fragment of uri
* adapt FMLE URL: 'rtmp://ip/app/app2#k=v/stream', then add more test case

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-08 15:48:10 +08:00
winlin
7ac1475c39 Merge #3271: H265: The codec information is incorrect. v6.0.5 2022-12-04 22:51:45 +08:00
chundonglinlin
a0803b556b
H265: Demux sps for log print and statistic streams.(#3271) (#3286)
* BitBuffer: add method to implement bit read operation.

* Codec: demux hevc sps for profile level resolution.

* Statistic: refine hevc profile level resolution.

* Kernel: return error code for demux hevc.

* Kernel: check bitstream length for hevc sps.

* UTest: add BitBuffer read bits utest.

* Kernel: refine print log and utest.

* Kernel: add comment for hevc sps.

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-04 22:46:14 +08:00
winlin
e6c395e473 Merge branch v5.0.105 into develop.
* v5.0, 2022-12-04, Cygwin: Enable gb28181 for Windows. v5.0.105
* v5.0, 2022-12-04, Asan: Set asan loging callback. v5.0.104
2022-12-04 22:39:30 +08:00
winlin
0e550d496b Cygwin: Enable gb28181 for Windows. v5.0.105 2022-12-04 22:34:36 +08:00
chengh
8be4c8e334 Asan: Set asan loging callback. v5.0.104 2022-12-04 22:24:37 +08:00
winlin
5999e446de Merge branch v5.0.103 into develop
1. GB28181: Enable GB for CentOS 7 package. v5.0.103
2. Package script support extra options. v5.0.102
3. Disable CLS and APM by default. v5.0.101
2022-12-03 21:15:22 +08:00
winlin
41769308d2 GB28181: Enable GB for CentOS 7 package. v5.0.103 2022-12-03 18:56:55 +08:00
winlin
4b5ae7b3d2 Package script support extra options. v5.0.102 2022-12-03 18:56:21 +08:00
winlin
e86e0c8999 Disable CLS and APM by default. v5.0.101 2022-12-03 18:35:41 +08:00
winlin
fa177679a6 Merge 5.0.100, v5.0-a1 into develop. 2022-12-01 23:13:56 +08:00
mapengfei53
c7b7921712
Config: Add utest for configuring with ENV variables. v5.0.100 (#3284)
* Config: Add utest for configuring with ENV variables.

Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: winlin <winlin@vip.126.com>
2022-12-01 23:03:50 +08:00
stone
a4d9e45545
Live: Fix bug for gop cache limits. v5.0.99 (#3289)
* bugfix: setting srt bridge to rtmp gop cache limit while SrsMpegtsSrtConn::acquire_publish 

* setting http_stream gop cache limit while SrsHttpStreamServer::hijack

* if gop_cache_max_frames_ == 0, don't enable the got cache max frames limit

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-01 22:07:11 +08:00
Winlin
e83fc2388b
Docker: Remove CentOS 6 support. (#3287)
1. Remove CentOS 6 for test and utest.
2. Statically build FFmpeg, no so depends.
2022-12-01 21:32:08 +08:00
winlin
152099b734 Merge branch v5.0.98 into develop.
1. Config: Add ENV tips for config. 5.0.97
2. SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98
2022-11-25 11:36:45 +08:00
Winlin
5cadfff2e5
SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98 (#3279) 2022-11-25 11:28:49 +08:00
Winlin
fdbfe59784
Config: Add ENV tips for config. 5.0.97 (#3278) 2022-11-25 10:46:09 +08:00
winlin
9b7db9aa68 DASH: Update README for MPEG-DASH. 2022-11-24 18:45:52 +08:00
john
d927996890 DASH: Fix number mode bug to make it run. v5.0.96 (#3240)
* Add utc time utility
* Fix calculate duration in fmp4
* Refine dash code, use segment template timeline
* Shrink m4s file and cleanup
* Support play by dash.js
* Use SegmentTemplate timeline mode with $Number$

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-24 18:13:49 +08:00
john
271afbbf82
DASH: Fix number mode bug to make it run. v5.0.96 (#3240)
* Add utc time utility
* Fix calculate duration in fmp4
* Refine dash code, use segment template timeline
* Shrink m4s file and cleanup
* Support play by dash.js
* Use SegmentTemplate timeline mode with $Number$

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-24 18:09:50 +08:00
Winlin
e6ccd8ec9a For #3176: GB28181: Error and logging for HEVC. v5.0.95 (#3276)
1. Parse video codec from PSM packet.
2. Return error and logging if HEVC packet.
3. Ignore invalid AVC NALUs, drop AVC AUD and SEI.
4. Disconnect TCP connection if HEVC.
2022-11-24 09:04:15 +08:00
Winlin
af192d6184
For #3176: GB28181: Error and logging for HEVC. v5.0.95 (#3276)
1. Parse video codec from PSM packet.
2. Return error and logging if HEVC packet.
3. Ignore invalid AVC NALUs, drop AVC AUD and SEI.
4. Disconnect TCP connection if HEVC.
2022-11-24 09:01:01 +08:00
winlin
e17f2fc675 Config: Add hevc.ts.conf for HEVC over HTTP-TS. 2022-11-23 17:24:03 +08:00
Winlin
70d5618979
H265: Support HEVC over HTTP-TS. v6.0.4 (#3275)
1. Update TS video codec to HEVC during streaming.
2. Return error when HEVC is disabled.
3. Parse HEVC NALU type by SrsHevcNaluTypeParse.
4. Show message when codec change for TS.

Co-authored-by: runner365 <shi.weibd@hotmail.com>
2022-11-23 17:05:21 +08:00
winlin
8debbe6db8 Asan: Fix utest bug. 2022-11-23 16:51:09 +08:00
winlin
f10412d289 Asan: Fix utest bug. 2022-11-23 16:46:57 +08:00
Winlin
f316e9a0de
H265: Support parse multiple NALUs in a frame. v6.0.3 (#3274)
1. Fix parsing multiple NALUs bug.
2. Eliminate duplicated code for parsing NALU.
3. Return error when HEVC not enabled.
2022-11-23 12:13:53 +08:00
winlin
02d47c5c21 Docs: Update features with version. 2022-11-23 11:56:37 +08:00
Winlin
96b4918c25 For #3236: Live: Change gop cache limits to 2500. v5.0.94 (#3273) 2022-11-23 09:52:27 +08:00
Winlin
13918ed81f
For #3236: Live: Change gop cache limits to 2500. v5.0.94 (#3273) 2022-11-23 09:50:19 +08:00
Winlin
178e40a5fc
H265: Support HEVC over RTMP or HTTP-FLV. (#3272)
1. Support configure with --h265=on.
2. Parse HEVC(H.265) from FLV or RTMP packet.
3. Support HEVC over RTMP or HTTP-FLV.

Co-authored-by: runner365 <shi.weibd@hotmail.com>
2022-11-23 08:34:13 +08:00
Winlin
7e02d972ea
H265: Update mpegts.js to play HEVC over HTTP-TS/FLV. v6.0.1 (#3268)
1. Update mpegts.js to support HEVC over HTTP-TS.
2. Merge https://github.com/xqq/mpegts.js/pull/68 for HEVC over HTTP-FLV.
2022-11-22 22:23:14 +08:00
Winlin
4b3fe68973
Init SRS 6. v6.0.0 (#3269) 2022-11-22 22:20:19 +08:00
stone
ec76512e42
Live: Limit cached max frames by gop_cache_max_frames (#3236)
* add gop_cache_max_frames

* Live: Limit cached max frames by gop_cache_max_frames. v5.0.93

Co-authored-by: wanglei <wanglei@unicloud.com>
Co-authored-by: winlin <winlin@vip.126.com>
2022-11-22 12:31:45 +08:00
winlin
4ada0bc629 Asan: Cleanup for testing for asan. 2022-11-22 12:26:05 +08:00
winlin
cdbebb3729 Merge branch '4.0release' into develop 2022-11-22 11:25:06 +08:00
johzzy
e529536563 WebRTC: Fix no audio and video issue for Firefox. (#3079) v4.0.268
* Remove extern SrsPps* duplicate declarations

* fix(rtmp2rtc): fix video payload type for rtmp to rtc bridge (#3041)

* Revert changes not belongs to this PR.

* Fix naming issue, follow SRS style.

* Use srs_assert instead of assert.

* Fix firefox no audio issue.

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-22 10:58:48 +08:00
Winlin
b72ad85502
Asan: Check libasan and show tips. v5.0.92 (#3266) 2022-11-22 10:40:18 +08:00
ChenGH
6b130d4205
Asan: Try to fix st_memory_leak for asan check (#3264)
* asan: try to fix st_memory_leak for asan check

* asan: srs_st_unit should be call in hybrid server stop

* Rename st_uninit to st_destroy. v5.0.91

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-21 23:49:38 +08:00
chengh
6fa17aa3f8 ST: Support st_destroy to free resources for asan. 2022-11-21 22:26:46 +08:00
johzzy
6eb10afca2
WebRTC: Fix no audio and video issue for Firefox. (#3079)
* Remove extern SrsPps* duplicate declarations

* fix(rtmp2rtc): fix video payload type for rtmp to rtc bridge (#3041)

* Revert changes not belongs to this PR.

* Fix naming issue, follow SRS style.

* Use srs_assert instead of assert.

* Fix firefox no audio issue.

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-21 22:01:01 +08:00
mingo-wu
62ab1a1c69 Fix the recursively included issue for srs_core_time.hpp (#3159)
* Update srs_core_time.hpp

In included file: main file cannot be included recursively when building a preambleclang(pp_including_mainfile_in_preamble)
srs_core.hpp(43, 10): Error occurred here

* Update srs_core_time.hpp

Reference to trunk/src/protocol/srs_protocol_http_stack.hpp
  (!defined(_MSC_VER) || _MSC_VER<1600) && !defined(__WINE__)
typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
2022-11-21 20:33:55 +08:00
ChenGH
f4f9c70d79
Asan: Fix global ip address leak check bug. v5.0.90 (#3248)
* asan: fix global ips memory leak bug

* Asan: Fix global ip address leak check. v5.0.90

* Asan: Directly start SRS for daemon error fixed.

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-21 20:22:13 +08:00
Winlin
9191217e27
Player: Use xqq/mpegts.js to play HTTP-TS/HTTP-FLV (#3263)
1. Replace flv.js with mpegts.js
2. Use mpegts.js to play HTTP-FLV.
3. Use mpegts.js to play HTTP-TS.
2022-11-21 19:16:44 +08:00
Winlin
59d37abc2b
Player: Use H5 native to play mp4. (#3262) 2022-11-21 19:00:33 +08:00
Winlin
057b1392c0
Windows: Refine cygwin pipeline (#3260)
1. When cleanup, remove srs.exe
2. Refine NSIS command.
2022-11-21 14:32:26 +08:00
dev-clavis
fe9e7abd84
SRT: Config file does not enable srt for srt2rtc.conf (#3250)
* adding enable stm

* SRT: Enable rtmp to rtc.

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-21 13:35:29 +08:00
winlin
b9284b6cc6 Windows: Support cygwin cache for test. (#3259) 2022-11-20 19:58:21 +08:00
Winlin
b18ee398ed
Windows: Support cygwin pipline and packager. v5.0.89 (#3257)
1. Support github actions on Windows Server 2022.
2. Use cygwin64 in windows-latest to build SRS.
3. Package SRS-xxx-setup.exe by NSIS.exe
4. Patch crypto/include/config.h for libsrtp.
5. Support run as administrator.
6. Apply utest for cygwin.
7. Enable srtp over openssl.
2022-11-20 15:02:08 +08:00
Winlin
d741f81110
For #2532: Windows: Support CYGWIN64 for SRS (#3255)
1. Support cygwin by '--cygwin64=on'
2. Detect cygwin automatically.
3. Disalbe sanitizer, srt and srtp with openssl.
4. Disable multiple threads, use single threads.
5. Support utest for cygwin64.
6. Query features for windows by API.
7. Disable stat APIs for cygwin.
8. Use ST select event driver.

Co-authored-by: wenjie.zhao <740936897@qq.com>
2022-11-20 12:29:57 +08:00
winlin
3d0dcb2a17 Windows: Support run in single thread mode. 2022-11-19 12:11:03 +08:00
winlin
efea38c51a Update features for SRS 5.0 2022-11-18 23:46:52 +08:00
Winlin
88641b535c UTest: Enable sanitizer for utest. (#3247)
1. Enable sanitizer for utest.
2. Allow auto detect jobs for make.
3. Show more information about build cache.
2022-11-18 23:07:49 +08:00
winlin
5bae930621 Fix #3215: Callback: Fix bug for response string 0. v5.0.88 2022-11-18 23:02:59 +08:00
wenjie.zhao
e9503a9c9a For #2532: Windows: Replace ln by cp for windows. v5.0.87 (#3246)
1. Replase ln by cp for windows.
2. Refine OS and CPU arch detecting.
3. Support configure from any directory by `SRS_WORKDIR`.
4. Support output to any directory by `SRS_OUTPUT`.
5. Disable sanitizer for gperf.
6. Use parallels build for make.
7. Refine bash variable check.
2022-11-18 23:02:38 +08:00
Winlin
368356c223
Support address sanitizer for utest and fix some leaks. (#3242)
* MP4: Fix memory leak when error.

* Kernel: Support free global objects for utest.

* HTTP: Fix memory leak when error.

* MP4: Support more sample rate for audio.

* RTMP: Support free field for utest.

* UTest: Support address sanitizer.
2022-11-18 11:19:01 +08:00
chundonglinlin
9f4338bd9d
For #2899: Exporter: Add metrics cpu, memory and uname. (#3224)
* Exporter: metrics support cpu gauge.
* Exporter: metrics support memory and uname..
* Exporter: Ignore error when uname fail.

Co-authored-by: winlin <winlin@vip.126.com>
2022-10-31 08:53:58 +08:00
winlin
9673bfb92c Config: Support set env_only by SRS_ENV_ONLY. 2022-10-30 21:01:02 +08:00
winlin
9f7a06bc9e Config: Support startting with environment variable only. v5.0.85 2022-10-30 15:18:59 +08:00
winlin
ef0aefd546 GC: Eliminate unused code. v5.0.84 2022-10-30 12:42:37 +08:00
john
7d9dc69ae1
SRT: Support encrypt, with utest (#3223)
* SRT: support encrypt, with utest

* SRT: refine set srt option error log
2022-10-28 16:55:35 +08:00
winlin
8dcbcd1656 GB28181: Update README for GB28181. 2022-10-26 21:30:40 +08:00
Winlin
2d1ba46e37
Fix #3218: Log: Follow Java/log4j log level specs. v5.0.83 (#3219)
1. Support Java/log4j log level text.
2. Support configuring by `--log-new-level=on` which is enabled by default.
3. Support `--log-new-level=off` to use SRS 4.0 log level for compatibility.
2022-10-26 21:23:03 +08:00
john
20c38e07c0
SRT: Print socket status string when error (#3217) 2022-10-25 21:11:25 +08:00
winlin
b8461ba236 Refine print constant string. 2022-10-25 13:39:49 +08:00
winlin
e9915c3bd7 Log: Refine the log interface. v5.0.82 2022-10-25 09:20:55 +08:00
winlin
252851d1b0 For #3216: Support Google Address Sanitizer. v5.0.81 2022-10-23 19:42:17 +08:00
winlin
764e9a6751 For #3216: Support force daemon for sanitizer. 2022-10-23 08:06:44 +08:00
ChenGH
961f701929
Sanitizer: Support address sanitizer for x86_64 platform (#3212)
* Sanitizer: Support address sanitizer for x86_64 platform
* Sanitizer: Not mac os need -static-libasan
* Sanitizer: Add script for docker test.
* Sanitizer: Refine build script.
* Santizer: Fix ossrs/srs:dev-gcc7-cache cannot find libasan bug
* Sanitizer: Support sanitizer when use ossrs/srs:dev-cache and ubuntuxx-cache
* Sanitizer: Add sanitizer-static config

Co-authored-by: winlin <winlin@vip.126.com>
2022-10-23 07:21:15 +08:00
winlin
e10fa6dc91 Kernel: Support grab backtrace stack when assert fail. v5.0.80 2022-10-21 23:37:30 +08:00
winlin
5a1a234855 ST: Refine tools and CMakeLists.txt. Add backtrace example. v5.0.79 2022-10-21 22:42:58 +08:00
winlin
d9cf874033 Build: Refine build script. 2022-10-12 20:21:23 +08:00
winlin
21b9345387 Fix #2901: Edge: Fast disconnect and reconnect. v5.0.78 2022-10-10 08:24:26 +08:00
winlin
7d782ee8c9 Fix #2901: Edge: Fast disconnect and reconnect. v4.0.267 2022-10-10 08:14:48 +08:00
winlin
7ddabd2cc2 Config: Remove space of directive. 2022-10-10 07:40:22 +08:00
winlin
5b3dd61deb GB28181: Fix sip.candidate configuration bug. v5.0.77 2022-10-09 22:37:06 +08:00
mapengfei53
dd563d45ca
Config: Support overwrote by environment variables. (#3200)
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
2022-10-09 21:11:33 +08:00
john
f1be2ebd3b
SRT: use default streamid when empty (#3202)
* SRT: use default streamid when empty

* Fix #3198: SRT: Support PUSH SRT by IP and optional port. v5.0.76

Co-authored-by: winlin <winlin@vip.126.com>
2022-10-09 08:28:28 +08:00
winlin
c12deded98 GB28181: Fix bug for parsing GB to RTC. 2022-10-07 19:47:34 +08:00
Winlin
5a420ece3b
GB28181: Support GB28181-2016 protocol. v5.0.74 (#3201)
01. Support GB config as StreamCaster.
02. Support disable GB by --gb28181=off.
03. Add utests for SIP examples.
04. Wireshark plugin to decode TCP/9000 as rtp.rfc4571
05. Support MPEGPS program stream codec.
06. Add utest for PS stream codec.
07. Decode MPEGPS packet stream.
08. Carry RTP and PS packet as helper in PS message.
09. Support recover from error mode.
10. Support process by a pack of PS/TS messages.
11. Add statistic for recovered and msgs dropped.
12. Recover from err position fastly.
13. Define state machine for GB session.
14. Bind context to GB session.
15. Re-invite when media disconnected.
16. Update GitHub actions with GB28181.
17. Support parse CANDIDATE by env or pip.
18. Support mux GB28181 to RTMP.
19. Support regression test by srs-bench.
2022-10-06 17:40:58 +08:00
winlin
9c81a0e1bd UTest: Fix utest warnings. 2022-10-06 16:09:07 +08:00
winlin
cfbbe3044f HTTP: Skip body and left message by upgrade. v5.0.73 2022-10-05 20:49:50 +08:00
winlin
d4ce877407 Kernel: Refine lazy sweep resource. 2022-10-04 21:07:49 +08:00
mapengfei53
eb04f92176
Config: Support overwrote by environment variables. (#3197)
* Support overwrite by environment virable.

* modify duplicated code

* Config: Add stat for envrionment config.

* Config: Fix utest fail.

Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: winlin <winlin@vip.126.com>
2022-10-03 13:00:12 +08:00
winlin
dc20d5ddbc ST: Support set context id while thread running. v5.0.72 2022-10-02 10:05:01 +08:00
chundonglinlin
9525511032
Exporter: Listen at port 9972 for Prometheus exporter. (#3195) 2022-10-01 07:35:54 +08:00
winlin
4ad4dd0975 RTC: Refine SDP to support GB28181 SSRC spec. v5.0.71 2022-09-30 19:36:20 +08:00
winlin
d32bd72527 Micro changes and fix utest fail. 2022-09-30 19:32:22 +08:00
winlin
1e6143e2eb GB28181: Refine HTTP parser to support SIP. v5.0.70 2022-09-30 19:21:31 +08:00
winlin
dae46a59ae Fix utest failed. 2022-09-30 19:15:02 +08:00
winlin
927dd473eb Kernel: Support lazy sweeping simple GC. v5.0.69 2022-09-30 18:33:29 +08:00
winlin
4b7d9587f4 HTTP: Support HTTP header in creating order. v5.0.68 2022-09-30 18:22:25 +08:00
winlin
d65c699829 Micro changes and refines. 2022-09-30 18:11:59 +08:00
winlin
378bffa34f Micro changes and refines. 2022-09-30 17:57:48 +08:00
winlin
173c683566 GB28181: Refine SRS listeners without wrapper. 2022-09-30 12:38:02 +08:00
winlin
b452144fb7 GB28181: Remove unused RTSP protocol stack. 2022-09-30 12:35:10 +08:00
winlin
912cd6a59c Merge branch '4.0release' into develop 2022-09-28 17:47:51 +08:00
winlin
8bd8c1146d WebRTC: Eliminate unused debugging log. 2022-09-28 17:46:50 +08:00
winlin
5f8da02ee7 API: Refine stat and config for prometheus exporter. 2022-09-28 16:07:26 +08:00
chundonglinlin
981cab40d3
API: support metrics for prometheus.(#2899) (#3189)
* API: support metrics for prometheus.

* Metrics: optimize metrics statistics info.

* Refine: remove redundant code.

* Refine: fix metrics srs_streams param.

* Metrics: add major param.

* Metrics: refine params and metric comments.

* For #2899: API: Support exporter for Prometheus. v5.0.67

Co-authored-by: winlin <winlin@vip.126.com>
2022-09-27 15:39:26 +08:00
winlin
e31f3b0e64 For #3167: WebRTC: Refine sequence jitter algorithm. v5.0.66 2022-09-27 14:54:22 +08:00
winlin
0c6d30861b Merge branch '4.0release' into develop 2022-09-27 14:53:23 +08:00
winlin
386b92e9ab For #3167: WebRTC: Refine sequence jitter algorithm. v4.0.266 2022-09-27 14:53:05 +08:00
winlin
ccd9eee2c9 For #3187: Fix build warning for unused variable. 2022-09-27 08:56:53 +08:00
john
62cd2fba85
SRT: do not ignore AUD nalus (#3187) 2022-09-26 22:05:13 +08:00
john
b328142140
Printf warn log when SRT audio duration too large (#3186)
* SRT: print warning log when audio duration too large

* Fix #3164: SRT: Choppy when audio ts gap is too large. v5.0.65

Co-authored-by: winlin <winlin@vip.126.com>
2022-09-22 20:37:22 +08:00
hondaxiao
4acb246c57 Fix #3181: SRT & WebRTC: Use SrsRawH264Stream to mux SPS/PPS. 2022-09-22 14:55:55 +08:00
winlin
f974c7c8b0 Fix #3183: Fix build fail for HDS. 2022-09-21 20:07:48 +08:00
winlin
d4898bec3c APM: Check endpoint port and team. 2022-09-21 20:06:33 +08:00
winlin
6f7b242ce2 APM: Extract research to projects. 2022-09-19 13:30:22 +08:00
winlin
b95734fb09 STAT: Update statistic for RISCV. 2022-09-19 10:55:50 +08:00
winlin
e63c02e928 APM: Update statistic for APM. 2022-09-16 21:04:43 +08:00
winlin
3e2f8622f8 APM: Support distributed tracing by Tencent Cloud APM. v5.0.63 2022-09-16 18:54:28 +08:00
winlin
4d0a4faa9d For #3179: WebRTC: Make sure the same m-lines order for offer and answer. v5.0.63 2022-09-16 08:09:30 +08:00
winlin
1b25ef9028 Merge branch '4.0release' into develop 2022-09-16 08:05:32 +08:00
winlin
686f57799e Fix #3179: WebRTC: Make sure the same m-lines order for offer and answer. v4.0.265 2022-09-16 08:02:12 +08:00
winlin
b2ad3bcdc8 WebRTC: Print offer if negotiate failed. 2022-09-11 21:57:59 +08:00
winlin
98ba8ae541 For #3174: WebRTC: Support Unity to publish or play stream. v5.0.62 2022-09-10 21:27:33 +08:00
winlin
6d18093e16 Merge branch '4.0release' into develop 2022-09-10 21:25:38 +08:00
winlin
aea2bfbaf9 For #3174: WebRTC: Support Unity to publish or play stream. v4.0.264 2022-09-09 16:34:45 +08:00
winlin
8ac8ae1c2e Fix #3093: WebRTC: Error when SDP not matched. 2022-09-09 16:19:47 +08:00
winlin
1c0236aa0d Fix #3093: WebRTC: Ignore unknown fmtp for h.264. v4.0.263 2022-09-09 16:17:01 +08:00
faicker
ef3347e37e
WebRTC: Fix missing type in track desc when backup H.264 payload type is chosen.
Signed-off-by: faicker <faicker.mo@gmail.com>

Signed-off-by: faicker <faicker.mo@gmail.com>
2022-09-09 14:27:24 +08:00
winlin
3eb046612b Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v5.0.61 2022-09-06 18:48:46 +08:00
winlin
e47c3c410c Merge branch '4.0release' into develop 2022-09-06 18:47:22 +08:00
winlin
15610ca488 Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v4.0.262 2022-09-06 18:46:47 +08:00
winlin
297a104fef Update state-threads to v1.9.4. 2022-09-06 09:22:32 +08:00
winlin
0410915ddd Update features for SRS 5.0 2022-09-06 09:04:44 +08:00
winlin
2144ff8c40 For #2852: WebRTC: Support only one TCP connected candidate. 2022-09-05 08:51:24 +08:00
Li Peng
efa0851476 WebRTC: Refine code and destroy session when tcp close. 2022-09-04 22:57:47 +08:00
Li Peng
07339e1417 WebRTC: Support TCP network. 2022-09-04 20:46:39 +08:00
winlin
625069af7f WebRTC: Extract SrsRtcNetwork layer for UDP/TCP. 2022-09-04 20:14:09 +08:00
winlin
770d959148 WebRTC: Support config, listener and SDP for TCP transport. 2022-09-04 20:13:33 +08:00
winlin
424713a31d Merge branch '4.0release' into develop 2022-09-03 22:12:46 +08:00
winlin
e0c8c199d5 Fix HTTP url parsing bug. v4.0.261 2022-09-03 22:11:00 +08:00
winlin
79358673ef Merge branch '4.0release' into develop 2022-09-03 18:13:11 +08:00
winlin
34196ea7f7 Fix #3167: WebRTC: Play stucked when republish. v4.0.260 2022-09-03 17:14:32 +08:00
winlin
38c3d9f1a7 Config: Refine config file, nothing changed. 2022-09-02 22:21:52 +08:00
winlin
77e1f81f91 For #1405: Fix utest build failed, for parsing SPS/PPS. 2022-09-02 11:37:05 +08:00
winlin
84c96076a9 Merge branch '4.0release' into develop 2022-09-02 10:57:56 +08:00
winlin
4a225c5640 For #307: WebRTC: Support use domain name as CANDIDATE. v4.0.259 2022-09-02 10:52:30 +08:00
winlin
6988e60ad6 Fix #1405: Restore the stream when parsing failed. v5.0.59 2022-09-01 21:45:19 +08:00
chundonglinlin
ef04d411c0 Main: remove extra space and refine code. (#3127) 2022-09-01 19:45:09 +08:00
mingo-wu
232fbfa4c3
Update srs_core_performance.hpp (#3160)
In included file: main file cannot be included recursively when building a preamble
    clang(pp_including_mainfile_in_preamble)
    srs_core.hpp(43, 10): Error occurred here
2022-09-01 19:39:34 +08:00
winlin
783aea7ac3 Fix #1405: Support guessing IBMF first. v5.0.58 2022-09-01 19:28:51 +08:00
winlin
e027d28c4d HLS: Support disable hls_ts_ctx. 2022-09-01 16:17:47 +08:00
winlin
eb2056db25 ST: Define and use a new jmpbuf. v5.0.57 2022-09-01 11:51:04 +08:00
winlin
7d47017a00 Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
winlin
dd37a041b9 Fix URL parsing bug for __defaultVhost__. v5.0.55 2022-08-31 11:46:09 +08:00
winlin
b009860b11 UTest: Split utest to smaller file. 2022-08-31 09:18:47 +08:00
winlin
6a108fab6d Fix #2837: Callback: Support stream_url and stream_id. v5.0.55 2022-08-31 08:00:05 +08:00
winlin
9c6774b644 STAT: Refine tcUrl for SRT/RTC. v5.0.54 2022-08-30 21:28:06 +08:00
winlin
d877c0b76f Tools: Update console and httpx. 2022-08-30 19:25:42 +08:00
winlin
2c259bd95b Refactor: Extract SrsNetworkKbps from SrsKbps. v5.0.53 2022-08-30 13:41:27 +08:00
winlin
937605b18c Remove bandwidth check because falsh is disabled. v5.0.52 2022-08-30 10:45:40 +08:00
winlin
1630918b0f Refactor: Use compositor for ISrsKbpsDelta. v5.0.51 2022-08-30 09:26:51 +08:00
winlin
29ae29c693 Merge branch '4.0release' into develop 2022-08-29 19:24:17 +08:00
winlin
88ba3d25f8 Copy libxml2-dev for FFmpeg. v4.0.258 2022-08-29 19:23:02 +08:00
winlin
db91102e67 STAT: Extract an ephemeral delta object. 2022-08-29 13:44:10 +08:00
winlin
4fe90d4885 RTC: Stat the WebRTC clients bandwidth. v5.0.50 2022-08-29 13:21:43 +08:00
winlin
d7c2d5ab01 HLS: Stat the HLS streaming clients bandwidth. v5.0.49 2022-08-29 12:09:26 +08:00
winlin
c1df280211 HLS: Rebuild m3u8 to make ts with id, for stat. 2022-08-29 09:08:46 +08:00
winlin
bc569d91a0 STAT: Ignore stat for API, only for HTTP streaming clients. 2022-08-29 07:54:48 +08:00
winlin
28154e820c URL: Use SrsHttpUri to parse URL and query. 2022-08-28 20:24:07 +08:00
winlin
9bd3c51818 RTMP: Refine code for gussing stream by app. 2022-08-28 17:03:34 +08:00
chundonglinlin
96add9be3d RTMP: Support publish with Server without StreamKey using OBS.(#3018) 2022-08-28 16:19:11 +08:00
winlin
f492d8b03a HTTP: Support API with body, for RTC. 2022-08-28 16:14:05 +08:00
winlin
457738f6eb Fix #2881: HTTP: Support merging api to server. v5.0.47 2022-08-28 13:11:31 +08:00
winlin
6508a082e9 Fix #3108: STAT: Update stat for SRT. v5.0.46 2022-08-27 20:40:34 +08:00
winlin
4e3ea99ccd STAT: Refine stat for global server. 2022-08-27 20:40:34 +08:00
winlin
da24de5ecb STAT: Update stat for SRT connection. 2022-08-27 20:40:34 +08:00
winlin
101e4fa3b9 STAT: Add hls-play, flv-play, srt-play and srt-publish. 2022-08-27 20:40:33 +08:00
winlin
2944fe430f STAT: Only stat media streaming clients. 2022-08-27 20:39:09 +08:00
winlin
ccf83a3f68 HLS: Extract a HLS streaming to serve pseudo session. 2022-08-27 20:37:27 +08:00
winlin
d39995cc31 HLS: Enable hls_ctx by default. 2022-08-27 19:41:07 +08:00
ChenHaibo
ca7b5a1c4e HLS: Add utest for HLS streaming. 2022-08-27 19:41:07 +08:00
ChenHaibo
2c569f568c HLS: Support config hls_ctx to disable HLS streaming. 2022-08-27 19:41:07 +08:00
winlin
6dc86b8a2e CLS: Refine logging to global object. 2022-08-27 18:56:53 +08:00
winlin
8bc7342c3c Protobuf: Extract protobuf encoder. 2022-08-26 18:46:26 +08:00
winlin
a54d371549 Log: Stat the number of logs. v5.0.45 2022-08-26 12:41:19 +08:00
winlin
5757950860 Merge 4.0release 2022-08-26 11:42:29 +08:00
winlin
cdccdf70b8 Hooks: Remove on_connect and on_close from doc. 2022-08-26 10:39:00 +08:00
winlin
5225a07727 Merge 4.0release 2022-08-25 07:31:53 +08:00
winlin
d5293e34e1 Refine release doc and wiki link. 2022-08-25 07:27:00 +08:00
winlin
18d25eacfb Merge 4.0release 2022-08-24 19:26:47 +08:00
winlin
95cd0e84eb Log: Support write log to tencentcloud CLS. v5.0.44 2022-08-24 15:51:23 +08:00
winlin
3da0b57121 Merge 4.0release. 2022-08-24 15:27:56 +08:00
winlin
9923c749d4 STAT: Support config server_id and generate one if empty. v4.0.257 2022-08-24 15:06:43 +08:00
winlin
8e6d207e56 For #2136: API: Cleanup no active streams for statistics. v4.0.256 2022-08-24 12:47:16 +08:00
winlin
41155b7789 STAT: Add kbps for client. 2022-08-24 12:42:21 +08:00
winlin
2438bc99e0 Config: Refine ulimit check. 2022-08-22 19:46:47 +08:00
winlin
9b010ac158 Fix #3114: Origin cluster config bug. v5.0.43 2022-08-22 11:43:44 +08:00
winlin
e9d6601f7d For #2136: API: Cleanup no active streams for statistics. v5.0.42 2022-08-19 19:45:19 +08:00
winlin
4edf33326d Merge branch '4.0release' into develop 2022-08-17 11:10:30 +08:00
winlin
f9941a325b RTMP URL supports domain in stream parameters. v4.0.255 2022-08-17 11:08:32 +08:00
winlin
4126c42118 Speedup test by refine the task dependencies. 2022-08-15 07:57:42 +08:00
winlin
2d036c3fd6 Fix #2747: Support Apple Silicon M1(aarch64). v5.0.41 2022-08-14 22:46:54 +08:00
ChenGH
f2fa289fe8 AppleM1: Support Apple Silicon M1(aarch64). 2022-08-14 22:46:52 +08:00
winlin
b787656eea AppleM1: Update openssl to v1.1.1l 2022-08-14 22:46:51 +08:00
winlin
1fe12b8e8c Speedup test by using cache image. 2022-08-14 22:41:29 +08:00
winlin
d478d7b2ca Add test for crossbuild on Ubuntu20. 2022-08-12 20:12:13 +08:00
winlin
a842c6c32a Support crossbuild for hisiv500. v5.0.40 2022-08-12 17:41:15 +08:00
winlin
d885d574e4 Add files for reuse port for origins. 2022-08-12 17:40:57 +08:00
winlin
b73847de7d Refine configure for crossbuild. 2022-08-11 16:55:24 +08:00
winlin
7f7406ec77 Build: Detect OS by packager. v5.0.39 2022-08-10 23:20:14 +08:00
winlin
0227e44ef0 Fix warning for comparing int with sizeof. 2022-08-10 19:34:23 +08:00
winlin
26284e368f Merge branch '4.0release' into develop 2022-08-10 10:23:25 +08:00
winlin
febd45d514 Fix server id generator bug. v4.0.254 2022-08-10 10:20:47 +08:00
winlin
262b79f747 Support MIPS 64bits for loongson 3A4000/3B3000. v5.0.38 2022-08-10 08:35:39 +08:00
winlin
a71eddd56a Fix the snprintf size issue. 2022-08-10 08:32:02 +08:00
winlin
1ab584b2ae Loongson/mips64: Support FFmpeg and openssl. 2022-08-09 22:44:10 +08:00
winlin
0a025fc4b6 Remove unneccessary depends headers. 2022-08-09 18:32:01 +08:00
winlin
25c004e947 Opus: Add TODO because the audio might be corrupted, if use FFmpeg native opus. 2022-08-09 13:35:57 +08:00
winlin
f9e8065b51 Fix build warnings. 2022-08-09 08:27:08 +08:00
winlin
f44b694a17 For test docker image, use cache eventhough the kernel changed. v5.0.37 2022-08-09 08:27:01 +08:00
winlin
14832b66eb Build: Disable openssl ASM for loongson. v5.0.35 2022-08-08 20:33:27 +08:00
winlin
5ae495ab95 For #1229: Check the return value of vsnprintf. 2022-08-08 08:31:57 +08:00
winlin
079ac107f0 For loongarch, fix openssl build bug, always use linux64-mips64 as required. 2022-08-06 17:26:55 +08:00
winlin
1589858cb0 Support MIPS 64bits for loongson 3A4000/3B3000. v5.0.34 2022-08-06 13:03:45 +08:00
winlin
aba6667357 Refine build script. 2022-08-05 18:32:05 +08:00
winlin
2e4fe0aea9 Refine options, extract crossbuild from toolchain. 2022-08-05 18:24:46 +08:00