ossrs / srs

SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181.

Home Page:https://ossrs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HTTP-FLV: The CPU usage is very high, greater than 25%

winlinvip opened this issue · comments

Describe the bug
When streaming to SRS using RTMP and playing back with HTTP-FLV, the CPU utilization is very high, exceeding 25%.

Version
6.0.113

To Reproduce
Steps to reproduce the behavior:

  1. Run SRS with:
env SRS_LISTEN=1935 \
  SRS_DAEMON=off \
  SRS_VHOST_MIN_LATENCY=on \
  SRS_VHOST_PLAY_MW_LATENCY=0 \
  SRS_HTTP_SERVER_ENABLED=on \
  SRS_VHOST_HTTP_REMUX_ENABLED=on \
  SRS_VHOST_HTTP_REMUX_MOUNT=[vhost]/[app]/[stream].flv \
  ./objs/srs -e
  1. Publish by RTMP: ffmpeg -re -i doc/source.flv -c copy -f flv rtmp://localhost/live/livestream
  2. Play by HTTP-FLV: curl http://localhost:8080/live/livestream.flv -o /dev/null
  3. The CPU will greater than 25%.

Expected behavior
Without transcoding, the CPU should less than 1%.

Screenshots
image

Additional context
No such problem if publishing and playing by RTMP, or set SRS_VHOST_PLAY_MW_LATENCY=350

TRANS_BY_GPT4

Workaround: If not using WebRTC, set SRS_VHOST_PLAY_MW_LATENCY=100 or higher. Or simply keep the default value, not set this config item.