livepeer / livepeer/lpms

P3 - Make sure LPMS works without video

Open
#349 4 comments 0 reactions 1 assignee View on GitHub

@MikeIndiaAlpha is already working on this.

Since Jul 15, 2022.

  • #348 by @MikeIndiaAlpha — closed without merging
Dominant language
Go
Stars
283
Forks
72
Avg merge
27m
Merged PRs (30d)
1

Description

support audio-only streams for transcoding Why? These will just be rejected right now. Since we already don’t support this, low priority, but would be nice to get to.

Right now LPMS will not work when there is no video data. For example, lpms/cmd/transcoding go will panic with TranscoderInvalidVideo error. This is because of the following code in ffmpeg.go:880

if videoMissing {
    // Audio-only segment, fail fast right here as we cannot handle them nicely
    return nil, ErrTranscoderVid
}

When statement above gets commented out, transcoding will crash with SIGSEGV, most likely reference to some kind of video-related pointer that isn't checking against NULL.

Since the idea is to separate video and audio processing at some point during the refactoring process, and since there are no fundamental reasons not to support video-less streams, it could make sense to change LPMS so that it would also work without video.

BTW, to obtain audio-only .ts container one can do something like this:
ffmpeg -i file_that_contains_video_and_audio.format" -map 0:a just_audio.ts

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.