ossrs / srs

SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181.
https://ossrs.io
MIT License
25.16k stars 5.31k forks source link

Edge: HTTP-API (/api/v1/streams) is unable to retrieve the detailed frame. #3693

Open cocozhaocs opened 1 year ago

cocozhaocs commented 1 year ago

Note: Please read FAQ before file an issue, see #2716

Description

When SRS is used in remote mode as an edge server, the HTTP-API (/api/v1/streams) is unable to retrieve the detailed frame of the stream.

  1. SRS Version:3.0.168

  2. SRS Log:

[2023-07-19 11:06:21.619][Error][176752][243][62] serve error code=1011 : parse message : parse message : grow buffer : read bytes : timeout 15000 ms thread [176752][243]: do_cycle() [src/app/srs_app_http_api.cpp:1354][errno=62] thread [176752][243]: parse_message() [src/service/srs_service_http_conn.cpp:95][errno=62] thread [176752][243]: parse_message_imp() [src/service/srs_service_http_conn.cpp:156][errno=62] thread [176752][243]: grow() [src/protocol/srs_protocol_stream.cpp:179][errno=62] thread [176752][243]: read() [src/service/srs_service_st.cpp:478][errno=62](Timer expired)

  1. response of /api/v1/streams : { "code": 0, "server": "vid-176752-357", "streams": [ { "id": "vid-176756-24", "name": "teststream1", "vhost": "vid-176753-359", "app": "test", "live_ms": 1689735965750, "clients": 2, "frames": 0, "send_bytes": 95342709, "recv_bytes": 7628, "kbps": { "recv_30s": 0, "send_30s": 1290 }, "publish": { "active": true, "cid": "234" }, "video": { "codec": "H264", "profile": "High", "level": "4", "width": 1920, "height": 1088 }, "audio": { "codec": "AAC", "sample_rate": 44100, "channel": 2, "profile": "LC" } } ] }

Replay

Please describe how to replay the bug?

Step 1: Enable http-api config

xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx

Step 2: Use remote mode as a edge stream node.

xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx

Step 3: Pull stream from edge node. Get stream frame detail by /api/v1/streams.

xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx

Expect

whether srs can get frame info by http-api(/api/v1/streams) when use remote mode . if can ,which version and what should I do?

TRANS_BY_GPT3

winlinvip commented 4 months ago

There are bugs in HTTP API module of Edge server. But I think we should fix it.