Winlin
47aa42f1e2
Support configure for generic linux. v5.0.145, v6.0.32 ( #3445 )
...
If your OS is not CentOS, Ubuntu, macOS, cygwin64, run of configure will fail with:
```
Your OS Linux is not supported.
```
For other linux systems, we should support an option:
```
./configure --generic-linux=on
```
Please note that you might still fail for other issues while configuring or building.
PICK b31940a15a
-------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-07 19:12:06 +08:00
MarkCao
36a72282e6
Kickoff publisher when stream is idle, which means no players. v6.0.31, v5.0.144 ( #3105 )
...
For some use scenario, the publisher is invited when player want to view the stream:
1. Publisher connect to system, but does not publish any stream to SRS yet.
2. Player connect to system and start to request the stream.
3. System notifies publisher to publish stream to SRS.
4. Player play the stream from SRS.
Please notice that `system` means your business system, not SRS.
This is what we called `on-demand-live-streaming`, so when the last player stop to view the stream, what happends?
1. System needs to notify publisher to stop publish.
2. Or, SRS disconnect the publisher when idle(the last player stops playing).
This PR is for the solution 2, so that the cleanup is very simple, your system does not need to notify publisher to stop publish, because SRS has already disconnected the publihser.
PICK 8fde0366fb
---------
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-03-06 09:13:39 +08:00
chundonglinlin
0a0fb23be0
API: Add service_id for http_hooks, which identify the process, v6.0.28, v5.0.142 ( #3424 )
...
PICK 733aeaa641
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-02-25 08:44:59 +08:00
Winlin
7fe0e28dd5
Compatible with legacy RTMP URL. v5.0.142. v6.0.27 ( #3429 )
...
For compatibility, transform
rtmp://ip/app...vhost...VHOST/stream
to typical format:
rtmp://ip/app/stream?vhost=VHOST
This is used for some legacy devices, which does not
support standard HTTP url query string.
PICK b75668b509
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-23 10:13:18 +08:00
john
7839c667af
SRT: Reduce latency to 200ms of srt2rtc.conf ( #3409 )
...
PICK 64fa116c65
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-02-12 16:23:57 +08:00
chundonglinlin
d1dec927d9
Config: Error when both HLS and HTTP-TS enabled. ( #3400 )
...
PICK 5b001fe344
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-08 20:48:42 +08:00
Haibo Chen
a970bfd2a3
HLS: support kick-off hls client ( #3371 )
...
* HLS: support kick-off hls client
* Refine error response when reject HLS client.
* Rename SrsM3u8CtxInfo to SrsHlsVirtualConn
* Update release v5.0.139 v6.0.21
PICK 7e83874af0
---------
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-01-29 11:43:04 +08:00
john
d6477c24d6
RTC: fix rtc publisher pli cid ( #3318 )
...
* RTC: fix rtc publisher pli cid
* RTC: log bridge request keyframe
* Update release v6.0.19 v5.0.138
PICK 7922057467
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-01-19 10:55:16 +08:00
panda
9600e495c7
Rewrite research/api-server code by Go, remove Python. ( #3382 )
...
* support api-server golang
* Update release to v6.0.18 and v5.0.137
PICK 81566868bf
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-01-18 13:14:26 +08:00
john
4a31b2ea1f
SRT: fix crash when srt_to_rtmp off ( #3386 )
...
* SRT: fix crash when srt_to_rtmp off
* Release v5.0.136 v6.0.17
PICK c5ccee1edf
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-18 08:54:01 +08:00
chundonglinlin
be8b1b94a6
API: Support server/pid/service label for exporter and api. ( #3385 )
...
* Exporter: Support server/pid/service.(#3378 )
* API: Support return server/pid/service.(#3378 )
* Use 8-length service id.
* Update release v5.0.135 v6.0.16
PICK 02653ce2aa
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-18 07:28:25 +08:00
Haibo Chen
9bf45bea01
GB: Fix PSM parsing indicator bug. v5.0.134 ( #3383 )
...
PICK a78936f517
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-17 13:05:35 +08:00
stone
25eb21efe8
Improve file writer performance by fwrite with cache. v5.0.133 ( #3308 )
...
* SrsFileWriter leverages libc buffer to boost dvr write speed.
* Refactor SrsFileWriter to use libc file functions mockable
* Add utest and refine code.
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-08 12:05:37 +08:00
Winlin
e655948e96
DVR: Support blackbox test based on hooks. v5.0.132 ( #3365 )
2023-01-07 21:33:02 +08:00
winlin
a27ce1d50f
FFmpeg: Support build with FFmpeg native opus. v5.0.131 ( #3140 )
2023-01-06 17:44:00 +08:00
winlin
3612473516
CORS: Refine HTTP CORS headers. v5.0.130
2023-01-05 20:25:38 +08:00
winlin
d02b942263
SRS4: Security: Enable CIDR for allow/deny play/publish. ( #2914 )
...
PICK 55ca61ec9c
2023-01-03 17:09:47 +08:00
winlin
3b59972a90
Add blackbox test for HLS and MP3 codec. v5.0.129 ( #296 ) ( #465 )
2023-01-03 16:49:59 +08:00
Winlin
2141d220b4
Test: Support blackbox test by FFmpeg. v5.0.128 ( #3355 )
...
1. Enable blackbox test for each PR and push.
2. Refine Makefile and README for srs-bench.
3. Add blackbox using FFmpeg and ffprobe.
4. Add blackbox basic test for RTMP stream.
5. Add blackbox basic test for HTTP-FLV stream.
6. Fix utest rand seed issue.
2023-01-02 15:33:17 +08:00
ChenGH
dd0f398296
Asan: Disable asan for CentOS and use statically link if possible. v5.0.127 ( #3347 ) ( #3352 )
...
* Asan: Disable asan for CentOS and use statically link if possible. v5.0.127 (#3347 )
1. Disable asan for all CentOS by default, however user could enable it.
2. Link asan statically if possible.
* Update version to v5.0.127
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-02 14:57:47 +08:00
winlin
02a18b328c
MP3: Upgrade mpegts.js to support HTTP-TS with mp3. v5.0.126 ( #296 )
2023-01-01 20:15:00 +08:00
Haibo Chen
3727d0527c
API: Fix duplicated on_stop callback event bug. ( #3349 )
...
* fix hls bug:Duplicated on_stop callback
* improve utest
* Refine magic number.
* API: Fix duplicated on_stop callback event bug. v5.0.125
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-01 19:24:50 +08:00
winlin
7750bdae10
GB28181: Enable regression test for gb28181. v5.0.122
...
1. Build regression test tool for gb28181.
2. Run regression test for gb28181.
3. Format go code and eliminate logs.
4. Change base docker to ubuntu20.
2022-12-31 19:36:49 +08:00
winlin
5559ac25fe
Refine configure to guess OS automatically. v5.0.121
...
1. Guess for macOS and cygwin64.
2. Refine options for configure.
2022-12-31 12:22:06 +08:00
winlin
07a9a005d5
Refine default config file for SRS. v5.0.120
...
1. Docker use srs.conf and env variables.
2. Show help if run SRS without any options.
3. Do not guess config file, use whatever from user.
2022-12-31 12:21:51 +08:00
winlin
8a0ac8e3a1
FLV: Fix bug for header flag gussing. v5.0.119 ( #939 )
2022-12-26 17:53:01 +08:00
winlin
37867533cd
MP3: Convert RTMP(MP3) to WebRTC(OPUS). v5.0.118 ( #296 ) ( #3340 )
2022-12-26 13:24:07 +08:00
winlin
95defe6dad
MP3: Support dump stream information. v5.0.117 ( #296 ) ( #3339 )
2022-12-25 21:11:08 +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
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
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
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
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
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
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
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
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
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
5cadfff2e5
SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98 ( #3279 )
2022-11-25 11:28:49 +08:00