Joystream / Joystream/joystream
Unlock third party post-processing for uploaders
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 116
- PR merge metrics
- No merged PRs in 30d
Description
Background
Currently, a publisher who wishes to retain custody of their channel and assets, meaning that they are the sole owner of the keys for their channel, but who also wants to make use of third parties for transcoding or general post-processing of video media, will have to do the following
- Publisher uploads media to transcoding partner.
- Transcoding partner does transcoding.
- Publisher downloads transcoded media versions (of which there may be a large number of variations due to combinations of resolution and encoding)
- Publisher makes a transaction to content directory about new video + media content, which has all the hashes of the transcoded media.
- Publisher uploads all the transcoded media to the storage system.
As is obvious here, there is a big problem in requiring the publisher to re-download (3) all the variation and upload them (4) to the storage system, basically because they have to wait to do the publication transaction until they know the post-processed hashes of the media files. That's a really terrible UX.
Solution
We already have the nice property that anyone can do the actual upload of content if they have the authentication key, we just need to take that one step further and allow uploads to be such that they allow the uploader to specify the hash upon upload to the storage provider liaison. Then, when the liasiaon sees this signed attestation, they can prove to the runtime that a genuine uploader claimed the hash was whatever is provided.
By doing this, the publisher simply delegates to the uploader to relay the hash to the liaison, as well as do the upload.
It makes most sense to allow the initial publisher to determined whether a particular upload is one where it has to be a specific hash, or where the uploader is able to provide it, as it would allow for lower trust in scenarios where you don't have this post-processing delegation.
┆Issue is synchronized with this Asana task by Unito
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.