You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-3Lines changed: 28 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,9 +22,22 @@ real-time media described in [RFC8867](https://www.rfc-editor.org/rfc/rfc8867.ht
22
22
### Implemented/Planned Test Cases and Applications
23
23
The current implementation uses [`vnet.Net` from
24
24
pion/transport](https://github.com/pion/transport) to simulate network
25
-
constraints. There are two test applications, one using a simple simulcast-like
26
-
setup and the other one using adaptive bitrate streaming with a synthetic
27
-
encoder.
25
+
constraints. There are three test applications:
26
+
27
+
1.**Simulcast-like setup** - Uses a simple simulcast configuration
28
+
2.**Adaptive bitrate streaming** - Uses synthetic encoder for adaptive bitrate
29
+
3.**Video file reader** - Reads numbered JPG image files and sends them as video frames
30
+
31
+
#### Video File Reader
32
+
The video file reader (`VideoFileReader`) reads series of numbered JPG image files
33
+
(e.g., `frame_000.jpg`, `frame_001.jpg`, etc.) from a directory and sends them as
34
+
individual video frames using an `RTCSender`. This allows testing with real video
35
+
content while maintaining precise control over frame timing and network conditions.
36
+
37
+
To use the video file reader test:
38
+
- Create directories with numbered JPG files (e.g., `../sample_videos_0/`, `../sample_videos_1/`)
39
+
- Files should be named with sequential numbers (frame_000.jpg, frame_001.jpg, etc.)
40
+
- The reader automatically discovers, sorts, and cycles through the frames
28
41
29
42
To run the simulcast test, you must create three input video files as described
30
43
in the [bandwidth-esimation-from-disk
@@ -33,6 +46,7 @@ and place them in the `vnet` directory.
33
46
34
47
-[ ]**Variable Available Capacity with a Single Flow**
35
48
-[ ]**Variable Available Capacity with Multiple Flows**
49
+
-[x]**Dual Video Tracks with Variable Available Capacity** - Uses video file reader with multiple video tracks
36
50
-[ ]**Congested Feedback Link with Bi-directional Media Flows**
37
51
-[ ]**Competing Media Flows with the Same Congestion Control Algorithm**
38
52
-[ ]**Round Trip Time Fairness**
@@ -53,6 +67,17 @@ interface. In future, we might automate the evaluation.
53
67
### Running
54
68
To run the tests, run `go test -v ./vnet/`.
55
69
70
+
To run the main test application with all test cases (including the video file reader test):
71
+
```bash
72
+
cd vnet
73
+
go run .
74
+
```
75
+
76
+
The application will run multiple test scenarios including:
77
+
- ABR (Adaptive Bitrate) tests with single and multiple flows
78
+
- Simulcast tests with single and multiple flows
79
+
- Video file reader test with dual video tracks (requires sample video directories)
80
+
56
81
### Roadmap
57
82
The library is used as a part of our WebRTC implementation. Please refer to that [roadmap](https://github.com/pion/webrtc/issues/9) to track our major milestones.
0 commit comments