Commit Graph

309 Commits (5759025e43fd6d8f6ebd5e5215804aa9c4cb0f73)

Author SHA1 Message Date
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.
2 years ago
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.
2 years ago
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.
2 years ago
john d1bc155c8b
DASH: Fix dash crash bug when writing file. v5.0.108 (#3301)
Co-authored-by: winlin <winlin@vip.126.com>
2 years ago
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>
2 years ago
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>
2 years ago
winlin 0e550d496b Cygwin: Enable gb28181 for Windows. v5.0.105 2 years ago
chengh 8be4c8e334 Asan: Set asan loging callback. v5.0.104 2 years ago
winlin 41769308d2 GB28181: Enable GB for CentOS 7 package. v5.0.103 2 years ago
winlin 4b5ae7b3d2 Package script support extra options. v5.0.102 2 years ago
winlin e86e0c8999 Disable CLS and APM by default. v5.0.101 2 years ago
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>
2 years ago
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>
2 years ago
Winlin 5cadfff2e5
SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98 (#3279) 2 years ago
Winlin fdbfe59784
Config: Add ENV tips for config. 5.0.97 (#3278) 2 years ago
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>
2 years ago
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.
2 years ago
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>
2 years ago
winlin cdbebb3729 Merge branch '4.0release' into develop 2 years ago
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>
2 years ago
Winlin b72ad85502
Asan: Check libasan and show tips. v5.0.92 (#3266) 2 years ago
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>
2 years ago
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>
2 years ago
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.
2 years ago
winlin efea38c51a Update features for SRS 5.0 2 years ago
winlin 5bae930621 Fix #3215: Callback: Fix bug for response string 0. v5.0.88 2 years ago
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.
2 years ago
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>
2 years ago
winlin 9f7a06bc9e Config: Support startting with environment variable only. v5.0.85 2 years ago
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.
2 years ago
winlin e9915c3bd7 Log: Refine the log interface. v5.0.82 2 years ago
winlin 252851d1b0 For #3216: Support Google Address Sanitizer. v5.0.81 2 years ago
winlin e10fa6dc91 Kernel: Support grab backtrace stack when assert fail. v5.0.80 2 years ago
winlin 5a1a234855 ST: Refine tools and CMakeLists.txt. Add backtrace example. v5.0.79 2 years ago
winlin 21b9345387 Fix #2901: Edge: Fast disconnect and reconnect. v5.0.78 2 years ago
winlin 7d782ee8c9 Fix #2901: Edge: Fast disconnect and reconnect. v4.0.267 2 years ago
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>
2 years ago
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.
2 years ago
winlin cfbbe3044f HTTP: Skip body and left message by upgrade. v5.0.73 2 years ago
winlin dc20d5ddbc ST: Support set context id while thread running. v5.0.72 2 years ago
winlin 4ad4dd0975 RTC: Refine SDP to support GB28181 SSRC spec. v5.0.71 2 years ago
winlin 1e6143e2eb GB28181: Refine HTTP parser to support SIP. v5.0.70 2 years ago
winlin 927dd473eb Kernel: Support lazy sweeping simple GC. v5.0.69 2 years ago
winlin 4b7d9587f4 HTTP: Support HTTP header in creating order. v5.0.68 2 years ago
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>
2 years ago
winlin e31f3b0e64 For #3167: WebRTC: Refine sequence jitter algorithm. v5.0.66 2 years ago
winlin 0c6d30861b Merge branch '4.0release' into develop 2 years ago
winlin 386b92e9ab For #3167: WebRTC: Refine sequence jitter algorithm. v4.0.266 2 years ago
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>
2 years ago
winlin 3e2f8622f8 APM: Support distributed tracing by Tencent Cloud APM. v5.0.63 2 years ago
winlin 4d0a4faa9d For #3179: WebRTC: Make sure the same m-lines order for offer and answer. v5.0.63 2 years ago
winlin 1b25ef9028 Merge branch '4.0release' into develop 2 years ago
winlin 686f57799e Fix #3179: WebRTC: Make sure the same m-lines order for offer and answer. v4.0.265 2 years ago
winlin 98ba8ae541 For #3174: WebRTC: Support Unity to publish or play stream. v5.0.62 2 years ago
winlin 6d18093e16 Merge branch '4.0release' into develop 2 years ago
winlin aea2bfbaf9 For #3174: WebRTC: Support Unity to publish or play stream. v4.0.264 2 years ago
winlin 1c0236aa0d Fix #3093: WebRTC: Ignore unknown fmtp for h.264. v4.0.263 2 years ago
winlin 3eb046612b Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v5.0.61 2 years ago
winlin e47c3c410c Merge branch '4.0release' into develop 2 years ago
winlin 15610ca488 Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v4.0.262 2 years ago
winlin 625069af7f WebRTC: Extract SrsRtcNetwork layer for UDP/TCP. 2 years ago
winlin 424713a31d Merge branch '4.0release' into develop 2 years ago
winlin e0c8c199d5 Fix HTTP url parsing bug. v4.0.261 2 years ago
winlin 79358673ef Merge branch '4.0release' into develop 2 years ago
winlin 34196ea7f7 Fix #3167: WebRTC: Play stucked when republish. v4.0.260 2 years ago
winlin 84c96076a9 Merge branch '4.0release' into develop 2 years ago
winlin 4a225c5640 For #307: WebRTC: Support use domain name as CANDIDATE. v4.0.259 2 years ago
winlin 6988e60ad6 Fix #1405: Restore the stream when parsing failed. v5.0.59 2 years ago
winlin 783aea7ac3 Fix #1405: Support guessing IBMF first. v5.0.58 2 years ago
winlin eb2056db25 ST: Define and use a new jmpbuf. v5.0.57 2 years ago
winlin dd37a041b9 Fix URL parsing bug for __defaultVhost__. v5.0.55 2 years ago
winlin 6a108fab6d Fix #2837: Callback: Support stream_url and stream_id. v5.0.55 2 years ago
winlin 9c6774b644 STAT: Refine tcUrl for SRT/RTC. v5.0.54 2 years ago
winlin 2c259bd95b Refactor: Extract SrsNetworkKbps from SrsKbps. v5.0.53 2 years ago
winlin 937605b18c Remove bandwidth check because falsh is disabled. v5.0.52 2 years ago
winlin 1630918b0f Refactor: Use compositor for ISrsKbpsDelta. v5.0.51 2 years ago
winlin 29ae29c693 Merge branch '4.0release' into develop 2 years ago
winlin 88ba3d25f8 Copy libxml2-dev for FFmpeg. v4.0.258 2 years ago
winlin 4fe90d4885 RTC: Stat the WebRTC clients bandwidth. v5.0.50 2 years ago
winlin d7c2d5ab01 HLS: Stat the HLS streaming clients bandwidth. v5.0.49 2 years ago
winlin 28154e820c URL: Use SrsHttpUri to parse URL and query. 2 years ago
winlin 457738f6eb Fix #2881: HTTP: Support merging api to server. v5.0.47 2 years ago
winlin 6508a082e9 Fix #3108: STAT: Update stat for SRT. v5.0.46 3 years ago
winlin a54d371549 Log: Stat the number of logs. v5.0.45 3 years ago
winlin 5225a07727 Merge 4.0release 3 years ago
winlin d5293e34e1 Refine release doc and wiki link. 3 years ago
winlin 95cd0e84eb Log: Support write log to tencentcloud CLS. v5.0.44 3 years ago
winlin 3da0b57121 Merge 4.0release. 3 years ago
winlin 9923c749d4 STAT: Support config server_id and generate one if empty. v4.0.257 3 years ago
winlin 8e6d207e56 For #2136: API: Cleanup no active streams for statistics. v4.0.256 3 years ago
winlin 9b010ac158 Fix #3114: Origin cluster config bug. v5.0.43 3 years ago
winlin e9d6601f7d For #2136: API: Cleanup no active streams for statistics. v5.0.42 3 years ago
winlin 4edf33326d Merge branch '4.0release' into develop 3 years ago
winlin f9941a325b RTMP URL supports domain in stream parameters. v4.0.255 3 years ago
winlin 2d036c3fd6 Fix #2747: Support Apple Silicon M1(aarch64). v5.0.41 3 years ago
winlin a842c6c32a Support crossbuild for hisiv500. v5.0.40 3 years ago
winlin 7f7406ec77 Build: Detect OS by packager. v5.0.39 3 years ago
winlin 26284e368f Merge branch '4.0release' into develop 3 years ago
winlin febd45d514 Fix server id generator bug. v4.0.254 3 years ago
winlin 262b79f747 Support MIPS 64bits for loongson 3A4000/3B3000. v5.0.38 3 years ago