tvkitchen / countertop

The entry point for developers who want to set up a TV Kitchen.
https://tv.kitchen
GNU Lesser General Public License v3.0
6 stars 2 forks source link

Include presentation times in ingested container stream #47

Closed slifty closed 4 years ago

slifty commented 4 years ago

Description

Specifically, it adds 'ptsTime' to the payload object, which is not yet formally supported by the Payload object in @tvkitchen/base-classes but gives us something to work with.

As you can see in issue #45, The amount of R&D that went into this PR is kind of wild, and it's thanks to the efforts of @reefdog @chriszs @traceypooh and @mhirsch that we managed to figure out the best way to do it.

Due Diligence Checklist

Steps to Test

  1. yarn install
  2. yarn test

Deploy Notes

Related Issues

Resolves #45 Related to #42

slifty commented 4 years ago

A lot has been changed since the last reviews -- this is ready for a re-review!

traceypooh commented 4 years ago

IF for some reason it'd be useful for me to make a small C-based binary that both copies all packets (passthru) and prints first PTS (or all PTS) to stderr, for a given MPEG-TS stream, as a single lightweight binary "one-shot" to reduce some complexity, potentially, LMK! :)

slifty commented 4 years ago

ALL RIGHT.

I'm sorry that this PR has gotten so large.

I've finally wrangled all the rework from the latest round of comments and I think this is close to final form (might even be final form!)

Please give this a re-review at your leisure. Don't hold back about giving feedback -- I know this has been a few iterations but this is really important to get right.

I'm also going to be making two issues based on past feedback once we're ready to merge:

  1. Moving to minipass.
  2. Looking into improving the TSDemuxer API so it fits a bit more naturally into our pipeline architecture.
slifty commented 4 years ago

I got the green light from @reefdog to merge this! GONNA DO IT!