-
Notifications
You must be signed in to change notification settings - Fork 171
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
Add node version and orch addr to transcoded metadata #3165
Conversation
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.
The PR looks good. Very nice change @j0sh
I have just one product question (CC: @thomshutt @hthillman ), I wonder if there is any case in which we would not want to expose that the video is coming from Livepeer Network. I remember that we had some customers with the special DNS domain to not expose it's coming from Livepeer. Not sure it's valid anymore or/and if there would be any issue exposing it in the video segment metadata.
@@ -340,6 +340,9 @@ message NotifySegment { | |||
// ID for this particular transcoding task. | |||
int64 taskId = 16; | |||
|
|||
// Orchestrator identifier for segment metadata | |||
string orchId = 18; |
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.
nit: shouldn't you move it under profiles, so that the indexing is in the order?
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.
Isn't profiles
deprecated?
Good point Rafal, but I think it's buried enough that we don't mind Livepeer's name being attached here - even for the other stuff it was more of a "best effort" approach to anonymity. |
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.
@j0sh looks good! Is there any other metadata (timestamp?) to hand that would be useful to add while we're in here?
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3165 +/- ##
===================================================
+ Coverage 57.36772% 57.38905% +0.02133%
===================================================
Files 92 92
Lines 15819 15841 +22
===================================================
+ Hits 9075 9091 +16
- Misses 6139 6142 +3
- Partials 605 608 +3
Continue to review full report in Codecov by Sentry.
|
Yep, there is a lot we could collect (someone in Discord suggested the GPU type, etc) but I am not sure how much we really want to stuff into this one field. It was mostly meant to scratch my own itch around not being able to figure out where segments came from. Can definitely add the timestamp if it seems like it would be near-term useful, though. UTC or Unix? I also wonder if there is a better 'place' in mpegts we can put things like the creation date, but google and some quick tests are not turning up anything... |
What does this pull request do? Explain your changes. (required)
Adds metadata that incorporates the node version and orchestrator address. This makes it easier to determine whether a given video came from the Livepeer network, and if so, who processed it.
For mpegts, the
service_provider
metadata field is used; for mp4 it is thecomment
field. Both are added unconditionally before passing on to the transcoder, but the muxer will actually only pick one or the other.The actual transcoder version is used, rather than the orchestrator version to accommodate split O/T. If the network is offchain, the orchestrator address will say "offchain"
This metadata is taken as-is and not verified; transcoders could modify this with a custom build if they really wanted to. We could just insert the orch addr metadata from the broadcaster itself, but we would not have the transcoder version.
Specific updates (required)
orchId
field to the O -> T protobuf definitions to carry the RecipientAddr to the transcoderMakeMetadata
for use both with local O transcoding and split O+THow did you test each of these updates (required)
Manual testing with combined OT and split O+T
Does this pull request close any open issues?
Checklist:
make
runs successfully./test.sh
pass