tvkitchen / appliances

A one stop shop for official TV Kitchen Appliances
GNU Lesser General Public License v3.0
3 stars 0 forks source link

Create a new segmentation appliance #71

Closed slifty closed 3 years ago

slifty commented 3 years ago

Task

Description

Segmentation is about marking high-level breakpoints within a given video stream. Segments are less about literal video features (e.g. scene changes) and more about the logical context blocks of a video according to a given application (e.g. in a TV station the stream might be split up into programs according to specific timestamps.)

Segments will be announced via a new payload type. We need to create an appliance that produces payloads of that type.

Once that's hashed out, we should add the type to the official list of types.

This appliance could be narrow or broad in intended scope. The immediate need is timestamp-based-segmentation (announcing new segments on the hour / half hour / etc). Ideally the segment payloads could include custom metadata such as program name, etc.

Related Issues

slifty commented 3 years ago

Some configuration options (all WIP):

The default value of segments would be [0] (meaning it would create a new segment for every timestamp period)

slifty commented 3 years ago

One question I'm trying to think through: should segments be pre-announced, or triggered on the timestamp (e.g. after the fact).

pre-announcing puts greater burden on downstream appliances to anticipate new segments, but without pre-announcing, the segment will always be announced slightly too late (e.g. the 1:00:00 segment wouldn't be triggered until after a timestamp at-or-after 1:00:00 has been distributed).