-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transcoder capabilities discovery and validation #2150
Conversation
3fe38f9
to
986ca5a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Non-obvious quirk on multi-GPU system I just realized: there's no GPU-level segment scheduling logic, and capability discovery will provide a list of capabilities from less capable GPU, so if user has a rig with 5 x RTX 3090 and 1 GTX 745 to hook up the monitor, no codecs except H.264 would show up in capabilities, unless |
…lities, fix formatting, change number of output renditions in Nvidia test. Fix video segment which is used for capabilities test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for review, all comments addressed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM after squash/rebase
What does this pull request do? Explain your changes. (required)
This PR is the last part of #2123 implementation. It will allow Orchestrator to send tasks to correct Transcoder according to requested capabilities (codecs). Also it adds capability test at startup for Nvidia GPUs (which may support only a subset of capabilities).
This PR includes changes of
install_ffmpeg.sh
discussed here. Corresponding LPMS PR needs to be merged first.Specific updates (required)
How did you test each of these updates (required)
Ran tests
Does this pull request close any open issues?
#2123
Checklist:
make
runs successfully./test.sh
passAdditional notes:
One missing piece is automatic capability (codec) detection from segment. Currently, if segment is encoded with codec, for which T doesn't support decoding - and decoding capability is not explicitly requested, it will bypass capability-based T selection logic and may fail, even if O has Ts which could decode it. Should
go-livepeer
has such segment codec check (at which point?), or it's best to handle on MistServer side?