1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-12 19:31:53 +00:00
Commit graph

675 commits

Author SHA1 Message Date
chundonglinlin
f1db76011b RTC: Refine FFmpeg opus audio noisy issue. v5.0.197 (#3852)
When converting between AAC and Opus formats (aac2opus or opus2aac), the
`av_frame_get_buffer` API is frequently called.

The goal is to optimize the code logic and reduce the frequent
allocation and deallocation of memory.

In the case of aac2opus, av_frame_get_buffer is still frequently called.
In the case of opus2aac, the goal is to avoid calling
av_frame_get_buffer and reduce memory allocations.

Before calling the `av_audio_fifo_read` API, use
`av_frame_make_writable` to check if the frame is writable. If it is not
writable, create a new frame.

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-11-04 16:28:52 +08:00
chundonglinlin
35f479c6bc Support build without cache to test if actions fail. v5.0.196 (#3858)
By default, caching is enabled during compilation, which means that data
is cached in Docker. This helps to avoid compiling third-party
dependency libraries. However, sometimes when updating third-party
libraries, it's necessary to disable caching to temporarily verify if
the pipeline can succeed. Therefore, a configure option should be added.
When this option is enabled, the compilation cache will not be used, and
all third-party libraries will be compiled from scratch.

---------

Co-authored-by: winlin <winlinvip@gmail.com>
2023-11-01 17:49:51 +08:00
Winlin
389a62ee3a WebRTC: Support WHEP for play. v5.0.182 (#3404)
RFC for WHIP: https://datatracker.ietf.org/doc/draft-ietf-wish-whip/

RFC for WHEP: https://datatracker.ietf.org/doc/draft-murillo-whep/

Please note that SRS 5.0 already had WHIP support. I didn't write a
document about WHIP, because WHIP is not a RFC right now, but there are
clues in
[srs-unity](https://github.com/ossrs/srs-unity#usage-publisher). SRS
WHIP url for publisher:
`http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream`

This PR is for WHEP, the url for player is
`http://localhost:1985/rtc/v1/whep/?app=live&stream=livestream`

PS: There is a great PR for OBS to have WHIP support, see
https://github.com/obsproject/obs-studio/pull/7926 and #3581

PS: WHIP for FFmpeg https://github.com/ossrs/ffmpeg-webrtc/pull/1

See #3170

---------

Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-09-21 18:43:57 +08:00
winlin
c6eddc72e9 Fix issue of srs-player failing to play HTTP-FLV. v5.0.165 2023-07-09 17:54:51 +08:00
panda
3a14bb4620 Upgrade jquery from 1.10.2 to 1.12.2 (#3571)
---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-06-30 06:29:50 +08:00
panda
1e43bb6b9f Fix command injection in api-server for HTTP callback. v5.0.157, v6.0.48 2023-06-05 16:41:19 +08:00
winlin
261bebcad1 Support the publishing of RTP plaintext packets using WHIP. v5.0.155 2023-05-14 12:50:35 +08:00
Winlin
5cc794b22d 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:22:00 +08:00
Winlin
dfef94411f Support WHIP and WHEP player. v5.0.147 and v6.0.35 (#3460)
PICK c001acaae9

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: panda <542638787@qq.com>
2023-03-21 08:51:42 +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
winlin
02a18b328c MP3: Upgrade mpegts.js to support HTTP-TS with mp3. v5.0.126 (#296) 2023-01-01 20:15:00 +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
9191217e27
Player: Use xqq/mpegts.js to play HTTP-TS/HTTP-FLV (#3263)
1. Replace flv.js with mpegts.js
2. Use mpegts.js to play HTTP-FLV.
3. Use mpegts.js to play HTTP-TS.
2022-11-21 19:16:44 +08:00
Winlin
59d37abc2b
Player: Use H5 native to play mp4. (#3262) 2022-11-21 19:00:33 +08:00
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.
2022-10-06 17:40:58 +08:00
winlin
378bffa34f Micro changes and refines. 2022-09-30 17:57:48 +08:00
winlin
6f7b242ce2 APM: Extract research to projects. 2022-09-19 13:30:22 +08:00
winlin
3e2f8622f8 APM: Support distributed tracing by Tencent Cloud APM. v5.0.63 2022-09-16 18:54:28 +08:00
winlin
1b25ef9028 Merge branch '4.0release' into develop 2022-09-16 08:05:32 +08:00
winlin
686f57799e Fix #3179: WebRTC: Make sure the same m-lines order for offer and answer. v4.0.265 2022-09-16 08:02:12 +08:00
winlin
dd37a041b9 Fix URL parsing bug for __defaultVhost__. v5.0.55 2022-08-31 11:46:09 +08:00
winlin
9c6774b644 STAT: Refine tcUrl for SRT/RTC. v5.0.54 2022-08-30 21:28:06 +08:00
winlin
d877c0b76f Tools: Update console and httpx. 2022-08-30 19:25:42 +08:00
winlin
18d25eacfb Merge 4.0release 2022-08-24 19:26:47 +08:00
winlin
f7280399d4 Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
winlin
310514ea94 Update players and console. 2022-05-16 22:44:21 +08:00
winlin
2b2379de12 RTC: Refine player sdk, reject with xhr. 2022-04-10 16:39:56 +08:00
winlin
b3baa888ee RTC: Refine player sdk, directly use raw HTTP. 2022-04-08 23:02:32 +08:00
CommanderRoot
8a75e8a165
Replace deprecated String.prototype.substr() (#2948)
String.prototype.substr() is deprecated (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) so we replace it with slice() or substring() which work similarily but aren't deprecated.
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-03-07 08:02:27 +08:00
chundonglinlin
03cf93fc2b
Forward: support config full rtmp url forward to other server (#2799)
* Forward: add backend config and demo server for dynamic create forwarder to other server.(#1342)

* Forward: if call forward backend failed, then return directly.

* Forward: add API description and change return value format.

* Forward: add backend conf file and wrapper function for backend service.

* Forward: add backend comment in full.conf and update forward.backend.conf.

* Forward: rename backend param and add comment tips.
2022-02-16 10:49:16 +08:00
winlin
c2b07ad943 Squash: Fix bugs 2022-02-11 08:44:31 +08:00
winlin
e27b658ef9 Refine the error for WebRTC H5 publisher. v4.0.239 2022-02-08 11:54:04 +08:00
winlin
32bb96a5c2 Squash: Fix bugs 2022-02-03 15:16:52 +08:00
winlin
1d4fac0dbc Refine docker console, preview by players at the same server. v4.0.236 2022-01-30 22:36:01 +08:00
winlin
7c9f88be0b Eliminate unused *.as files for Adobe Flash. v5.0.22 2022-01-18 12:04:15 +08:00
winlin
93aa0eb5ba Squash: Fix bugs 2022-01-13 18:26:28 +08:00
winlin
73d0ce1cee Support api to specify the WebRTC API port. v4.0.225 2022-01-13 13:34:06 +08:00
winlin
c6c2e97189 Support api_port to specify the WebRTC API port. v4.0.225 2022-01-13 12:16:45 +08:00
winlin
db3ceb445b Support api_port to specify the WebRTC API port. v4.0.224 2022-01-13 12:07:34 +08:00
winlin
d47dd81f46 Refine the running homepage. v4.0.221 2022-01-13 11:10:11 +08:00
winlin
fb93631407 Refine the running homepage. v4.0.221 2022-01-13 11:00:11 +08:00
winlin
574afb4320 Refine the running homepage. v4.0.221 2022-01-13 10:44:10 +08:00
winlin
7e25d0d7f4 Refine the running homepage. v4.0.221 2022-01-12 22:03:46 +08:00
winlin
716e578a19 Squash: Fix bugs 2021-12-26 17:30:51 +08:00
winlin
44e9dc83e9 Upgrade gperftools to 2.9 for GCP/GMC/GMP/GMD. (#2247) 2021-12-26 15:19:08 +08:00
winlin
63da0dca92 Cleanup server for GMC, by WaitGroup to destroy. (#2247). v4.0.206 2021-12-26 11:37:59 +08:00
winlin
e16830e989 Squash: Merge 4.0.201 2021-12-04 10:43:04 +08:00
winlin
542a3e4f36 RTC: Refine publish security error message (#2762). v4.0.200 2021-12-01 08:27:13 +08:00
winlin
440f29b758 Squash: Merge #2732 2021-11-14 21:50:58 +08:00
winlin
7771fbe858 Fix #2732: WebRTC: Fail to publish RTC automatically for HTML5. 2021-11-14 13:48:48 +08:00