1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-15 04:42:04 +00:00
Commit graph

393 commits

Author SHA1 Message Date
chundonglinlin
27f9db9762
SSL: Fix SSL_get_error get the error of other coroutine. v5.0.155, v6.0.46 (#3513)
---------

Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: winlin <winlin@vip.126.com>
2023-05-29 13:00:41 +08:00
chundonglinlin
c0e931ae7a
Replace sprintf with snprintf to eliminate compile warnings. v6.0.45 (#3534)
* Replaced all occurrences of sprintf with snprintf to address deprecation warnings
* Ensured proper buffer size is passed to snprintf to prevent potential buffer overflows
* Ran tests to confirm that the changes do not introduce any new issues or regressions

---------

Co-authored-by: ChenGH <chengh_math@126.com>
2023-05-14 13:04:21 +08:00
ChenGH
0629beeb0a
asan: Fix memory leak in asan by releasing global IPs when run_directly_or_daemon fails. v5.0.154, v6.0.44 (#3541)
* asan: when run_directly_or_daemon failed, release gloabal ips

* asan: refine global system ips release code

* Update release to v5.0.154, v6.0.44

---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-05-14 12:04:58 +08:00
Winlin
78f1ebfcb1
Improve README and documents with AI. v5.0.153. v6.0.43 (#3538)
* Improve README with AI and add new features

1. Update README file with AI to make it more informative and user-friendly
2. Add a detailed table of contents (TOC) with an introduction for easy navigation
3. Introduce an auto-detecting Automake feature that displays the correct installation command
4. Add support for SRT to HTTP-TS config file
5. Refine the WHIP delete location URL
6. Add support for disabling encryption for WHIP or WHEP

This pull request aims to enhance the quality of the project by introducing innovative features and making the necessary updates. These updates will help users navigate the project more efficiently while also improving the overall project's quality.

---------

Co-authored-by: ChenGH <chengh_math@126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-05-12 17:18:30 +08:00
Winlin
26aabe413d
RTMP: Support enhanced RTMP specification for HEVC. v6.0.42 (#3495)
* RTMP: Support enhanced RTMP specification for HEVC,  v6.0.42.
* Player: Upgrade mpegts.js to support it.

Enhanced RTMP specification: https://github.com/veovera/enhanced-rtmp

First, start SRS `v6.0.42+` with HTTP-TS support:

```bash
./objs/srs -c conf/http.ts.live.conf
```

Then, you can use [OBS 29.1+](https://github.com/obsproject/obs-studio/releases) to push HEVC via RTMP.
Start OBS with the following settings in the `Settings > Stream` tab:

* Server: `rtmp://localhost/live`
* Stream Key: `livestream`
* Encoder: Please select the HEVC hardware encoder.

Finally, open the player http://localhost:8080/players/srs_player.html?stream=livestream.ts

Or use VLS or ffplay to play `http://localhost:8080/live/livestream.ts`

---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-04-08 09:18:10 +08:00
Winlin
dcd02fe69c
Support composited bridges for 1:N protocols converting. v6.0.41 (#3392)
Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-04-01 21:34:59 +08:00
Haibo Chen
771ae0a1a6
API: Support HTTP basic authentication for API. v6.0.4, v5.0.152 (#3458)
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-04-01 12:45:29 +08:00
chundonglinlin
571043ff3d
WebRTC: Error message carries the SDP when failed. v5.0.151, v6.0.39 (#3450)
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-27 22:27:01 +08:00
yashwardhan-jyani
b574ad1a07
Remove unneccessary NULL check in srs_freep. v5.0.150, v6.0.38 (#3477)
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-03-25 12:09:13 +08:00
john
d8755711c1
RTC: Call on_play before create session, for it might be freed for timeout. v5.0.149, v6.0.37 (#3455)
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-25 11:44:48 +08:00
Winlin
363e0c2a6e
WHIP: Support DELETE resource for Larix Broadcaster. v5.0.148 v6.0.36 (#3427)
* WHIP: Support DELETE resource.
* Support push by Larix.
* FLV: Disable stash buffer for realtime.
* WHEP: Fix muted issue.

-------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: panda <542638787@qq.com>
2023-03-23 10:01:20 +08:00
Winlin
c001acaae9
Support WHIP and WHEP player. v5.0.147 and v6.0.35 (#3460)
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: panda <542638787@qq.com>
2023-03-21 08:49:07 +08:00
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
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
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
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
7b27410ac9 SRS4: Security: Enable CIDR for allow/deny play/publish. (#2914)
PICK 55ca61ec9c
2023-01-03 17:19:51 +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
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
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
winlin
a6c926f985 SRS5: FLV: Fix bug for header flag gussing. v5.0.119 (#939)
PICK 8a0ac8e3a1
2022-12-26 18:06:38 +08:00
winlin
6875876349 SRS5: MP3: Convert RTMP(MP3) to WebRTC(OPUS). v5.0.118 (#296) (#3340)
PICK 37867533cd
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
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
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
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
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
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
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
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
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
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
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