chundonglinlin
2708752a9b
HEVC: webrtc support hevc on safari. v6.0.34 ( #3441 )
...
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-07 20:45:57 +08:00
Winlin
a7514484a2
WebRTC: Warning if no ideal profile. v6.0.33, v5.0.146 ( #3446 )
...
For WebRTC, SRS expect the h.264 codec is:
```
a=rtpmap:106 H264/90000
a=fmtp:106 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
```
But sometimes, the device does not support the profile, for example only bellow:
```
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e033
a=fmtp:122 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=420033
a=fmtp:121 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640033
a=fmtp:120 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0033
```
So we should warning user about the profile missmatch, because it might not work.
----------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: LiPeng <lipeng19811218@gmail.com>
2023-03-07 19:43:47 +08:00
Winlin
b31940a15a
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.
-------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-07 19:10:29 +08:00
MarkCao
8fde0366fb
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.
---------
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-03-06 09:09:27 +08:00
Winlin
dc7be76bb1
Forward add question mark to the end. v6.0.30 ( #3438 )
...
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-02-25 19:13:48 +08:00
Haibo Chen
67867242fc
GB: Support HEVC for regression test and load tool for GB. ( #3416 )
...
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-02-25 16:25:56 +08:00
chundonglinlin
733aeaa641
API: Add service_id for http_hooks, which identify the process, v6.0.28, v5.0.142 ( #3424 )
...
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-02-25 08:42:19 +08:00
Winlin
b75668b509
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.
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-23 10:10:11 +08:00
wangzhen
3ce57ae6b6
HEVC: Fix nalu vec duplicate when h265 vps/sps/pps demux. v6.0.26 ( #3411 )
...
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: winlin <winlin@vip.126.com>
2023-02-16 08:45:44 +08:00
chundonglinlin
b957463e5e
SRT: fix req param leak. ( #3423 )
...
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-16 08:25:17 +08:00
Haibo Chen
4a5f479a0c
GB: Support H.265 for GB28181 ( #3408 )
...
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: stone <bluestn@163.com>
Co-authored-by: Winlin <winlin@vip.126.com>
2023-02-14 14:28:41 +08:00
john
64fa116c65
SRT: Reduce latency to 200ms of srt2rtc.conf ( #3409 )
...
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-02-12 16:22:47 +08:00
chundonglinlin
5b001fe344
Config: Error when both HLS and HTTP-TS enabled. ( #3400 )
...
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-08 20:46:45 +08:00
chundonglinlin
2b0e32aace
Kernel: Fix demux SPS error for NVENC and LARIX. v6.0.22 ( #3389 )
...
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-08 20:23:25 +08:00
Haibo Chen
47c2d59b31
GB: fix pointer not free ( #3396 )
...
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-02-07 20:26:54 +08:00
Winlin
913dcb4406
UTest: Fix crash for stack overflow, allocate object on heap. ( #3394 )
...
* UTest: Fix crash for stack overflow, allocate object on heap.
* H265: Refine hevc vps/sps/pps id range.
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-30 11:20:47 +08:00
Haibo Chen
7e83874af0
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
---------
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-01-29 11:40:44 +08:00
chundonglinlin
ef90da352e
H265: Support HEVC over SRT.( #465 ) v6.0.20 ( #3366 )
...
* H265: Refine demux vps/sps/pps interface for SRT and GB.
* H265: Support HEVC over SRT.(#465 )
* UTest: add hevc vps/sps/pps utest.
* SRT: fix mpegts.js play hevc http-flv error.
* UTest: add HTTP-TS and HTTP-FLV blackbox test.
* Update release v6.0.20
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-01-22 13:47:24 +08:00
john
7922057467
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
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-01-19 10:49:17 +08:00
panda
81566868bf
Rewrite research/api-server code by Go, remove Python. ( #3382 )
...
* support api-server golang
* Update release to v6.0.18 and v5.0.137
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:11:16 +08:00
john
c5ccee1edf
SRT: fix crash when srt_to_rtmp off ( #3386 )
...
* SRT: fix crash when srt_to_rtmp off
* Release v5.0.136 v6.0.17
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-18 08:52:26 +08:00
chundonglinlin
02653ce2aa
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
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-18 07:25:44 +08:00
chundonglinlin
39c2b9c497
H265: Support demux vps/pps info. v6.0.15 ( #3379 )
...
* H265: Support parse vps/pps info for SRT and GB.
* H265: Update referenced doc.
* UTest: add hevc vps/sps/pps utest.
* Update release to v6.0.15
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-17 18:04:53 +08:00
Haibo Chen
cd2a352254
GB: Fix PSM parsing indicator bug. v6.0.15 ( #3383 )
...
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-17 13:15:29 +08:00
Haibo Chen
a78936f517
GB: Fix PSM parsing indicator bug ( #3383 )
...
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-17 13:01:36 +08:00
Winlin
498ce72af8
SRS5: Config: Support better env name for prefixed with srs ( #3370 )
...
* Actions: Fix github action warnings.
* Forward: Bind the context id of source or stream.
* Config: Support better env names.
PICK a4e7427433
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-11 10:57:24 +08:00
mapengfei53
edba2c25f1
HEVC: Support DVR HEVC stream to MP4. v6.0.14 ( #3360 )
...
* DVR: Support mp4 blackbox test based on hooks.
* HEVC: Support DASH HEVC stream
* Refine blackbox test. v6.0.14
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-08 15:05:43 +08:00
stone
748aa8508f
SRS5: 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>
PICK 25eb21efe8
2023-01-08 12:06:38 +08:00
Winlin
f06a2d61f7
SRS5: DVR: Support blackbox test based on hooks. v5.0.132 ( #3365 )
...
PICK e655948e96
2023-01-07 21:34:09 +08:00
winlin
3c6ade8721
SRS5: FFmpeg: Support build with FFmpeg native opus. v5.0.131 ( #3140 )
...
PICK a27ce1d50f
2023-01-06 17:46:37 +08:00
feng
eeb42f7e4a
HTTP: Add CORS Header for private network access. v6.0.13 ( #3363 )
...
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-06 15:02:53 +08:00
winlin
35e01906f2
SRS5: CORS: Refine HTTP CORS headers. v5.0.130
...
PICK 3612473516
2023-01-05 20:45:26 +08:00
john
fe086dfc31
SRT: Upgrade libsrt from 1.4.1 to 1.5.1. v6.0.12 ( #3362 )
...
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-04 19:56:33 +08:00
Winlin
3e5362fbff
SRS5: Test: Add blackbox for MP3 audio codec. v5.0.129 ( #296 ) ( #465 )
...
PICK e3a4ff9fa1
PICK 3b59972a90
2023-01-03 16:55:20 +08:00
Winlin
4c2db0073a
SRS5: 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.
PICK 2141d220b4
2023-01-02 15:34:19 +08:00
ChenGH
e1f6661d1f
SRS5: 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>
PICK dd0f398296
2023-01-02 15:03:25 +08:00
chundonglinlin
fff8d9863c
H265: Support HEVC over HLS. v6.0.11 ( #465 ) ( #3354 )
...
* H265: Support HEVC over HLS.(#465 )
* HLS: Support HEVC over HLS. v6.0.11 (#465 )
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-02 09:04:50 +08:00
winlin
4bfc4de710
SRS5: MP3: Upgrade mpegts.js to support HTTP-TS with mp3. v5.0.126 ( #296 )
...
PICK 02a18b328c
2023-01-01 20:26:44 +08:00
Haibo Chen
57cc843000
SRS5: API: Fix duplicated on_stop callback event bug. v5.0.125 ( #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>
PICK 3727d0527c
2023-01-01 19:28:10 +08:00
winlin
e4e87c0403
SRS5: Live: Refine log for monotonically increase.
...
PICK 6caca900b3
2023-01-01 15:21:24 +08:00
winlin
7bd8682d40
SRS5: Script: Refine depends tools. v5.0.124
...
1. Never auto install tools now, user should do it.
2. Support --help and --version for SRS.
3. Install tools for cygwin64.
PICK e690c93bcf
2023-01-01 14:13:22 +08:00
winlin
c46ef81ff2
SRS5: Update license date to 2023. v5.0.123
...
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
winlin
6ad7787c14
Asan: Refine asan warning message for macOS.
...
PICK 7bdb7270cf
2022-12-31 21:20:51 +08:00
winlin
3f7c4a7ff4
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.
PICK 7750bdae10
2022-12-31 19:47:54 +08:00
winlin
41f7951481
SRS5: Refine configure to guess OS automatically. v5.0.121
...
1. Guess for macOS and cygwin64.
2. Refine options for configure.
PICK 5559ac25fe
2022-12-31 12:39:37 +08:00
winlin
4045971dea
SRS5: 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.
PICK 07a9a005d5
2022-12-31 12:39:18 +08:00
winlin
39c9487a73
Support first SRS6 version. v6.0.10
2022-12-30 19:27:43 +08:00
winlin
351f7590db
SRS5: Script: Discover version from code.
...
PICK 87a2ef100a
2022-12-28 14:34:01 +08:00
winlin
d5bf0ba2da
TS: Support disable audio or video to make mpegts.js happy. v6.0.9 ( #465 ) ( #939 )
2022-12-26 19:03:49 +08:00
winlin
4b6f1b0fd6
TS: Fix bug for codec detecting for HTTP-TS. v6.0.8 ( #465 )
2022-12-26 18:30:12 +08:00