Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Media tracks with start_time not handled correctly #403

Open
victorges opened this issue Jan 27, 2023 · 4 comments
Open

Media tracks with start_time not handled correctly #403

victorges opened this issue Jan 27, 2023 · 4 comments

Comments

@victorges
Copy link
Member

All the VOD pipelines that we have built today (including the old non-catalyst one) fail consistently when the video has tracks with offset start_times.

These params can happen naturally when clipping the video, as ffmpeg for example will prefer to keep the whole segment intact and just shift playback through start_time than to actually re-transcode the segment. Even though, it is not that common for videos to have a start_time. There's an alert everytime someone uploads a video with a considerable one (>250ms i think) and it doesn't happen that often.

These videos play fine on any player I tried, but get (consistent) glitches anytime they're uploaded to our platform. The current behaviors are:

  • on old pipeline (worst): video and audio get off-sync unless they have the exact same start_time. Doesn't matter tho, only FTR
  • on catalyst mist pipeline: an error like this:
    error="input video duration (63800ms) does not match segmented video duration (66944ms)"
  • on catalyst mediaconvert pipeline: mediaconvert adds a blank video in the beginning until video and audio can be in sync. E.g.: https://lvpr.tv/?v=63d0be6pfau46m1s&muted=false

A test file is: https://lp-playback.com/hls/63d0be6pfau46m1s/video

I don't think this is a super urgent bug, but we should keep this in mind when we change to mediaconvert fallback logic. We should process the start_time property of the videos and skip directly to MediaConvert pipeline if the video does have one.

The fix in MediaConvert is likely trivial tho, probably just some additional config. For mist pipeline not sure, as I believe that error comes from the only way we have to check whether segmenting worked or not (as per Thom).

@thomshutt
Copy link
Contributor

Thanks @victorges! To expand on this bit:

For mist pipeline not sure, as I believe that error comes from the only way we have to check whether segmenting worked or not (as per Thom).

The input video duration (63800ms) does not match segmented video duration (66944ms) is coming from a check we do at the end of segmenting to determine if it's succeeded or not by comparing the input video duration to the segmented duration that Mist reports.

Mist are currently working on a "trigger" for failures, which would allow us to rely to that rather than this mechanism for determining success/failure.

@Thulinma
Copy link

Yeah, Thom's suggestion sounds good to me. Technically none of all that is "wrong", after all - it's just the check is confused by the difference in duration. 🙃

iameli pushed a commit that referenced this issue Feb 21, 2023
Files changed:
M	manifest.yaml

Co-authored-by: livepeer-docker <livepeer-docker@users.noreply.github.com>
@victorges
Copy link
Member Author

@thomshutt was this fixed? the referencing commit looks weird, don't think it is related to this

@thomshutt
Copy link
Contributor

@victorges nope sorry - I mass closed old issues since a lot of them were related to the Mist-based VOD pipeline but if any (like this one) are still relevant then feel free to reopen

@victorges victorges reopened this Oct 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants