chengh
f2ee8f3319
update copyright to 2025
2025-01-01 23:35:10 +08:00
Jacob Su
101382afd0
RTC2RTMP: Fix screen sharing stutter caused by packet loss. v5.0.216 v6.0.157 v7.0.18 ( #4160 )
...
## How to reproduce?
1. Refer this commit, which contains the web demo to capture screen as
video stream through RTC.
2. Copy the `trunk/research/players/whip.html` and
`trunk/research/players/js/srs.sdk.js` to replace the `develop` branch
source code.
3. `./configure && make`
4. `./objs/srs -c conf/rtc2rtmp.conf`
5. open `http://localhost:8080/players/whip.html?schema=http `
6. check `Screen` radio option.
7. click `publish`, then check the screen to share.
8. play the rtmp live stream: `rtmp://localhost/live/livestream`
9. check the video stuttering.
## Cause
When capture screen by the chrome web browser, which send RTP packet
with empty payload frequently, then all the cached RTP packets are
dropped before next key frame arrive in this case.
The OBS screen stream and camera stream do not have such problem.
## Add screen stream to WHIP demo
><img width="581" alt="Screenshot 2024-08-28 at 2 49 46 PM"
src="https://github.com/user-attachments/assets/9557dbd2-c799-4dfd-b336-5bbf2e4f8fb8 ">
---------
Co-authored-by: winlin <winlinvip@gmail.com>
2024-10-15 19:00:07 +08:00
Winlin
26f4ab9923
WebRTC: Add support for A/V only WHEP/WHEP player. v6.0.116 ( #3964 )
...
---------
Co-authored-by: john <hondaxiao@tencent.com>
2024-03-19 21:08:03 +08:00
Winlin
f9bba0a9b0
WebRTC: Support WHEP for play. v5.0.182 v6.0.80 ( #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:41:33 +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
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
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
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
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
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
8f91a90f28
Squash: Fix padding packets for RTMP2RTC
2021-07-08 14:37:18 +08:00
winlin
10b9a81061
RTC: Support eip/candidate to set the eip of server
2021-07-08 14:25:38 +08:00
winlin
15901cacee
SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3
2021-05-31 13:42:20 +08:00
winlin
3cd22b6e6e
Use SPDX-License-Identifier: MIT. 4.0.124
2021-05-31 12:59:21 +08:00
winlin
81bda41b31
SquashSRS4: Refine srs.sdk.js
2021-05-28 21:44:51 +08:00
winlin
c353f1fe57
Update Usage
2021-05-26 14:21:23 +08:00
winlin
e50582f9c7
SquashSRS4: Refine SDK
2021-05-21 19:57:59 +08:00
winlin
7ea05dddf2
RTC: Allow set constrain for publisher
2021-05-21 18:32:53 +08:00
winlin
a7ab78a588
SquashSRS4: Update SDK
2021-05-21 17:14:04 +08:00
winlin
37c9066636
RTC: Refine sdk, migrate from onaddstream to ontrack. 4.0.120
2021-05-21 16:58:21 +08:00
winlin
eb339432c4
SquashSRS4: Update benchmark data.
2021-05-10 18:09:59 +08:00
winlin
3bf1b0cb7d
Refine tid for sdk and demos. 4.0.106
2021-05-09 22:33:43 +08:00
winlin
becbe45bcd
SquashSRS4: Add demo for RTC
2021-05-05 13:26:25 +08:00
winlin
74043b4153
Tools: Update one to one demo
2021-05-03 14:13:32 +08:00
winlin
0b62216999
SquashSRS4: Support av1 for Chrome M90 enabled it.
2021-04-30 08:13:38 +08:00
Winlin
e8fe66e3ba
RTC: Support av1 for Chrome M90 enabled it. 4.0.91 ( #2324 )
...
* RTC: Support av1 for Chrome M90 enabled it. 4.0.91
* RTC: Show codec for WebRTC publisher
2021-04-30 08:09:01 +08:00
winlin
51aa899358
RTC: Refine H5 demo, extract srs.sdk.js
2021-04-29 11:50:51 +08:00