lpms icon indicating copy to clipboard operation
lpms copied to clipboard

P3 - Make sure LPMS works without video

Open MikeIndiaAlpha opened this issue 3 years ago • 4 comments

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

MikeIndiaAlpha avatar Jul 15 '22 14:07 MikeIndiaAlpha

BTW, after recent fixes from ma_refactoring_second branch it may be easier to fix, as some issues with "audio-only" segments were ironed out. But it is still crashing.

MikeIndiaAlpha avatar Jul 22 '22 18:07 MikeIndiaAlpha

So it was a matter of a few trivial changes in this PR https://github.com/livepeer/lpms/pull/348 Basically all that had to be done is removal of the (not very nice anyway) assumption that the video stream is always there. Once the mentioned branch will get merged, this issue can be closed.

MikeIndiaAlpha avatar Jul 23 '22 09:07 MikeIndiaAlpha

Hi @MikeIndiaAlpha thank you for this contribution. Do you know where this got stuck? I am keen to enable "video-less" streams.

chrishobcroft avatar Jun 06 '23 06:06 chrishobcroft

@chrishobcroft once this is merged, streams without video should work.

cyberj0g avatar Jun 06 '23 13:06 cyberj0g