Skip to content

Commit 08d8fd4

Browse files
committed
Update Readme
Signed-off-by: Ze Gan <[email protected]>
1 parent 652feac commit 08d8fd4

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# vscode
2+
.vscode/*
3+
14
# Byte-compiled / optimized / DLL files
25
__pycache__/
36
*.py[cod]

README.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,38 @@
1-
# Challenge-Example
1+
# Challenge-Example
2+
3+
This repository is an example about the submittal of challenge https://2021.acmmmsys.org/rtc_challenge.php. Its zip package(https://github.com/OpenNetLab/Challenge-Example/archive/refs/heads/master.zip) can be directly uploaded as a bandwidth estimator to OpenNetLab platform for this challenge.
4+
5+
## Challenge Manual
6+
7+
You need to design and implement a python class `Estimator` in the file, `BandwidthEstimator.py`, that is the interface to predict the bandwidth for AlphaRTC https://github.com/OpenNetLab/AlphaRTC#pyinfer.
8+
9+
```python
10+
class Estimator(object):
11+
def report_states(self, stats: dict):
12+
'''
13+
stats is a dict with the following items
14+
{
15+
"send_time_ms": uint,
16+
"arrival_time_ms": uint,
17+
"payload_type": int,
18+
"sequence_number": uint,
19+
"ssrc": int,
20+
"padding_length": uint,
21+
"header_length": uint,
22+
"payload_size": uint
23+
}
24+
'''
25+
pass
26+
27+
def get_estimated_bandwidth(self)->int:
28+
return int(1e6) # 1Mbps
29+
```
30+
31+
### Notes
32+
33+
1. The `report_states` will be called by AlphaRTC core process and to tell the estimator RTC packets information with partial metadata above mentioned.
34+
2. The `get_estimated_bandwidth` will also be called by AlphaRTC core process to fetch the predicted bandwidth by your estimator.
35+
3. The two interfaces will be called in one thread and maybe get some side-effect if they take a long time to return.
36+
4. The calling frequency of `report_states` is per RTC packet.
37+
5. The calling frequency of `get_estimated_bandwidth` is about 200 milliseconds.
38+
6. You can use any built-in library of `python 3.6.9` or third-parties libraries we pre-installed in [Challenge-Environment](https://github.com/OpenNetLab/Challenge-Environment).

0 commit comments

Comments
 (0)