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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
Winlin
e655948e96
DVR: Support blackbox test based on hooks. v5.0.132 ( #3365 )
2 years ago
winlin
a27ce1d50f
FFmpeg: Support build with FFmpeg native opus. v5.0.131 ( #3140 )
2 years ago
winlin
3612473516
CORS: Refine HTTP CORS headers. v5.0.130
2 years ago
winlin
d02b942263
SRS4: Security: Enable CIDR for allow/deny play/publish. ( #2914 )
...
PICK 55ca61ec9c
2 years ago
winlin
3b59972a90
Add blackbox test for HLS and MP3 codec. v5.0.129 ( #296 ) ( #465 )
2 years ago
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.
2 years ago
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>
2 years ago
winlin
02a18b328c
MP3: Upgrade mpegts.js to support HTTP-TS with mp3. v5.0.126 ( #296 )
2 years ago
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>
2 years ago
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.
2 years ago
winlin
5559ac25fe
Refine configure to guess OS automatically. v5.0.121
...
1. Guess for macOS and cygwin64.
2. Refine options for configure.
2 years ago
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.
2 years ago
winlin
8a0ac8e3a1
FLV: Fix bug for header flag gussing. v5.0.119 ( #939 )
2 years ago
winlin
37867533cd
MP3: Convert RTMP(MP3) to WebRTC(OPUS). v5.0.118 ( #296 ) ( #3340 )
2 years ago
winlin
95defe6dad
MP3: Support dump stream information. v5.0.117 ( #296 ) ( #3339 )
2 years ago
winlin
f6e0b1c894
MP3: Support mp3 for RTMP/HLS/HTTP-FLV/HTTP-TS/HLS etc. v5.0.116
2 years ago
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 )
2 years ago
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.
2 years ago
winlin
5dcd6637e3
Fix #3328 : Docker: Avoiding duplicated copy files. v5.0.115
2 years ago
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
2 years ago
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>
2 years ago
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>
2 years ago
Winlin
56040cab42
GB28181: Fix memory overlap for small packets. v5.0.111 ( #3315 )
2 years ago
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