srs/trunk
OSSRS-AI 1a96abc880
AI: API: Add audio_frames and video_frames to HTTP API. v7.0.122 (#4559) (#4564)
This PR adds separate audio and video frame counting to the HTTP API
(`/api/v1/streams/`) for better stream observability. The API now
reports three frame fields:
- `frames` - Total frames (video + audio)
- `video_frames` - Video frames/packets only
- `audio_frames` - Audio frames/packets only

This enhancement provides better visibility into stream composition and
helps detect issues with CBR/VBR streams, audio/video sync problems, and
codec-specific behavior.

**Before:**
```json
{
  "streams": [
    {
      "frames": 0, // video frames.
    }
  ]
}
```

**After:**
```json
{
  "streams": [
    {
      "frames": 6912, // video frames.
      "audio_frames": 5678, // audio frames.
      "video_frames": 1234, // video frames.
    }
  ]
}
```

Frame Counting Strategy
- All protocols report frames every N frames to balance accuracy and
performance
- Frames are counted at the protocol-specific message/packet level:
  - RTMP: Counts RTMP messages (video/audio)
  - WebRTC: Counts RTP packets (video/audio)
  - SRT: Counts MPEG-TS messages (H.264/HEVC/AAC)
2025-11-07 22:32:26 -05:00
..
3rdparty AI: Refine bug caused flaky test failure. 2025-11-03 21:01:35 -05:00
auto AI: Build: Improve dependency checking to report all missing dependencies at once. v7.0.105 (#4293) 2025-10-25 22:21:09 -04:00
cmake Refactor: Rename ide/ directory to cmake/ for better clarity (#4539) 2025-10-23 20:38:48 -04:00
conf AI: HLS: Support query string in hls_key_url for JWT tokens. v7.0.120 (#4426) 2025-11-06 23:00:19 -05:00
doc AI: API: Add audio_frames and video_frames to HTTP API. v7.0.122 (#4559) (#4564) 2025-11-07 22:32:26 -05:00
etc/init.d Squash: Fix bugs 2022-01-13 18:26:28 +08:00
gdb The identifier "ShowCouroutines" needs to be modified to "ShowCoroutines" in order to rectify the typographical error. v6.0.63 (#3703) 2023-07-27 08:12:39 +08:00
packaging/redhat AI: Remove cygwin64, always enable WebRTC, and enforce C++98 compatibility. v7.0.60 (#4447) 2025-08-21 10:03:38 -06:00
research AI: AAC: Fix mono audio reported as stereo in HTTP API. v7.0.112 (#3556) 2025-10-29 22:22:02 -04:00
scripts AI: Add utest to cover encoder module 2025-10-11 08:22:34 -04:00
src AI: API: Add audio_frames and video_frames to HTTP API. v7.0.122 (#4559) (#4564) 2025-11-07 22:32:26 -05:00
usr/lib/systemd/system Squash: Support RPM. Fix bugs. 2021-11-04 07:37:17 +08:00
.gitignore rtc2rtmp: Support RTC-to-RTMP remuxing with HEVC. v7.0.43 (#4349) 2025-07-03 08:24:42 -04:00
AUTHORS.md Reorder maintainers ranked by number of commits. 2025-08-14 07:23:03 -06:00
AUTHORS.txt Update AUTHORS 2021-08-25 07:43:35 +08:00
configure RTC: Fix DVR missing first 4-6 seconds by initializing rate from SDP (#4541) 2025-10-28 09:33:40 -04:00
Dockerfile.builds Enable default configure test. 2025-10-28 10:04:53 -04:00
Dockerfile.cov Disable sanitizer by default to fix memory leak. #4364 v7.0.96 2025-10-14 20:32:37 -04:00
Dockerfile.pkg Merge branch v5.0.103 into develop 2022-12-03 21:15:22 +08:00
Dockerfile.test Disable sanitizer by default to fix memory leak. #4364 v7.0.96 2025-10-14 20:32:37 -04:00