1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00
srs/trunk/research
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
..
api-server Upgrade hls.js and set in low latency mode. v6.0.112 (#3924) 2024-02-05 21:37:29 +08:00
apm APM: Extract research to projects. 2022-09-19 13:30:22 +08:00
arm Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
code-statistic SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +08:00
console Player: Fix empty img tag occupy 20px size in safari. v6.0.142 (#4029) 2024-07-24 11:20:56 +08:00
ffempty SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +08:00
frame Update 2021-03-06 10:46:07 +08:00
golang refine srs player to play hls. 2016-03-19 19:11:31 +08:00
gperftools Squash: Fix bugs 2021-12-26 17:30:51 +08:00
hls SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +08:00
msg_zerocopy ST: Simplify it, only Linux/Darwin, epoll/kqueue, single process. 5.0.2 2021-05-19 18:25:49 +08:00
players RTC2RTMP: Fix screen sharing stutter caused by packet loss. v5.0.216 v6.0.157 v7.0.18 (#4160) 2024-10-15 19:00:07 +08:00
python-subprocess finish the research for python-subprocess 2014-06-11 11:14:43 +08:00
srt-proxy A demo for SRT proxy. (#3869) 2023-12-30 08:55:01 +08:00
st ASAN: Support coroutine context switching and stack tracing (#4153) 2024-08-22 17:12:39 +08:00
thread-model Research: Add udp connect 2021-02-05 11:07:53 +08:00
wireshark GB28181: Support GB28181-2016 protocol. v5.0.74 (#3201) 2022-10-06 17:40:58 +08:00
favicon.ico Upgrade hls.js and set in low latency mode. v6.0.112 (#3924) 2024-02-05 21:37:29 +08:00
index.html Upgrade hls.js and set in low latency mode. v6.0.112 (#3924) 2024-02-05 21:37:29 +08:00