Skip to content

[bwe-test] Add video_file_reader and test#97

Merged
yzhao-nuro merged 1 commit intomasterfrom
yzhao_vnetchange
Oct 2, 2025
Merged

[bwe-test] Add video_file_reader and test#97
yzhao-nuro merged 1 commit intomasterfrom
yzhao_vnetchange

Conversation

@yzhao-nuro
Copy link
Contributor

Description

  • VideoFileReader implementation for reading numbered JPG image files as video frames
    • Integration with RTCSender for real-time video streaming
  • Support for dual video track testing with configurable video file sources
  • Phase-based network simulation with JSON configuration files
    • Support for capacity ratio, loss rates, delays, and burst configurations
    • Configurable phase durations and network characteristics
  • GetPathCharacteristics function for parsing network phase configurations
  • New test case: "Dual Video Tracks with Variable Available Capacity"

@hanguyen-nuro
Copy link
Contributor

hanguyen-nuro commented Oct 1, 2025

Thank you for the change! @yzhao-nuro For my understanding, is there any difference between the vpx package used in public repo and Nuro's repo (pion-mediadevices)? I noticed that the the public vpx package doesn't have VpxImage which we have in the internal repo. Am I just missing the installation set up in the public repo? Is there better way we can solve the root cause? cc @jiajieli-dev @lkang-nuro

@yzhao-nuro
Copy link
Contributor Author

Thank you for the change! @yzhao-nuro For my understanding, is there any difference between the vpx package used in public repo and Nuro's repo (pion-mediadevices)? I noticed that the the public vpx package doesn't have VpxImage which we have in the internal repo. Am I just missing the installation set up in the public repo? Is there better way we can solve the root cause? cc @jiajieli-dev @lkang-nuro

Thank you for the comments! I think @lkang-nuro changed some interface to follow the open source based on some review comments.

@codecov
Copy link

codecov bot commented Oct 1, 2025

Codecov Report

❌ Patch coverage is 54.80944% with 249 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.39%. Comparing base (f696e23) to head (955929c).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
vnet/main.go 0.00% 118 Missing ⚠️
vnet/video_file_reader.go 48.48% 85 Missing and 17 partials ⚠️
vnet/manager.go 75.75% 12 Missing and 4 partials ⚠️
vnet/flow.go 83.87% 8 Missing and 2 partials ⚠️
vnet/phase.go 97.19% 2 Missing and 1 partial ⚠️

❌ Your patch status has failed because the patch coverage (54.80%) is below the target coverage (70.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff             @@
##           master      #97       +/-   ##
===========================================
+ Coverage   30.26%   48.39%   +18.12%     
===========================================
  Files          19       21        +2     
  Lines        2121     2583      +462     
===========================================
+ Hits          642     1250      +608     
+ Misses       1441     1222      -219     
- Partials       38      111       +73     
Flag Coverage Δ
go 48.39% <54.80%> (+18.12%) ⬆️
wasm 4.25% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@yzhao-nuro yzhao-nuro force-pushed the yzhao_vnetchange branch 3 times, most recently from e6f71ee to a293fd5 Compare October 1, 2025 19:02
Copy link
Contributor

@jiajieli-dev jiajieli-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall

.github/.ci.conf Outdated

sudo apt-get update
sudo apt-get install -y libvpx-dev pkg-config
} No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: new line

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

"CapacityRatio": 1.0,
"MaxBurstKbps": 160
}
] No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit new line

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


PRE_TEST_HOOK=_install_dependencies_hook
PRE_LINT_HOOK=_install_dependencies_hook
GO_MOD_VERSION_EXPECTED=1.24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like the repo is using both 1.24 and 1.25

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is specifying the minimum version (1.24). Both 1.24 and 1.25 are specified in matrix in ./.github/workflow/ for tests.

constraints. There are two test applications, one using a simple simulcast-like
setup and the other one using adaptive bitrate streaming with a synthetic
encoder.
constraints. There are three test applications:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we add a short “Video IO” section?
Explain optional libvpx requirement, how to install on Linux/macOS.
Mention build tags (if adopted), and example commands for saving video.
Note multi-track output behavior with SaveVideo(basePath).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we should. I will upload a new commit with it.

@yzhao-nuro yzhao-nuro force-pushed the yzhao_vnetchange branch 3 times, most recently from dda8ac5 to 603d9f6 Compare October 2, 2025 00:17
@yzhao-nuro yzhao-nuro merged commit 3136f8c into master Oct 2, 2025
16 of 17 checks passed
@yzhao-nuro yzhao-nuro deleted the yzhao_vnetchange branch October 2, 2025 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants