livepeer / go-livepeer

Official Go implementation of the Livepeer protocol
http://livepeer.org
MIT License
547 stars 171 forks source link

Audio verification fails because of missing audio packet in renditions #2542

Open cyberj0g opened 2 years ago

cyberj0g commented 2 years ago

Describe the bug Sometimes, renditions will have some audio packets missing, and, potentially, mixed. The reason for that needs to be investigated. As a temporary workaround, fuzzy audio verification is implemented. That verification approach is vulnerable to trivial packet mixing attack.

To Reproduce There are some samples in failed verifications bucket.

yondonfu commented 1 year ago

Context: We expect Mist to be the primary source of segments and receiver of transcoded renditions for a go-livepeer B (as a part of Catalyst which is Mist + go-livepeer B bundled together).

Mist currently ignores the audio tracks of transcoded renditions because it only uses the source audio track. Given this, I see this as a non-issue since the audio tracks of the transcoded renditions will be ignored anyway. In fact, I actually don't think we need the audio verification code as well. In the scenario, where we support audio transcoding in the future, the audio verification code would need to look different anyways vs. the code right now that tries to fuzzy match to ensure that the audio tracks in transcoded renditions are the same as the audio track in the source.