livepeer / livepeer/research

Deterministic Transcoding

Open
#2 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
7
Forks
1
PR merge metrics
No merged PRs in 30d

Description

The Livepeer protocol depends upon being able to verify the computations that transcoders do when encoding video. To do this using Truebit as proposed, transcoding needs to be deterministic, producing the same bit-for-bit output.

When using FFMPEG for transcoding, by default, one would not get deterministic output if run on different architectures, or if the number of threads/cores being used is greater than one. This can be potentially overcome by:

* compiling FFMPEG with all compiler optimizations turned off
* running with only one thread
* potentially running in an emulated, well spec'd architecture, like web assembly

However this of course brings its own tradeoffs in terms of efficiency of the encodings relative to centralized options that don't need to be verified, as well as restricting who can run Livepeer, and introducing additional engineering/operational complexity.

This track aims at research solutions for transcoding verification. There are at least two separate approaches.

1. Most efficient and direct setups that produce deterministic output and can run on whatever hardware the transcoder brings to the table.
2. Solutions that don't require bit-for-bit determinism, such as probabilistic checks and majority rules schemes.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the two proposed approaches: deterministic transcoding across hardware and verification without bit-for-bit determinism. Review the tradeoffs involving compiler optimizations, single-threaded execution, emulated WebAssembly, efficiency, participation, and operational complexity. Done means documenting viable research solutions for transcoding verification.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
audio-video-rtc, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.