Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
c3tracker:start [2025/06/19 00:47] – andi | c3tracker:start [2025/06/19 11:37] (current) – andi | ||
---|---|---|---|
Line 19: | Line 19: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | ||
+ | == Ticket Properties | ||
- | == Concepts | + | see [[properties]] |
- | + | ||
- | The C3 Ticket Tracker enables the (semi-)automated recording, editing & release of multilingual videos. In order to complete a release successfully, | + | |
- | + | ||
- | === Ticket types and hierarchy | + | |
- | + | ||
- | One of the really good features of the C3 tracker is that propertyies are inherited through the hierarchy: | + | |
- | + | ||
- | * Project settings (Conference or Series) | + | |
- | * Meta ticket (Parent with Fahrplan-ID & -Metadata) | + | |
- | * Recording ticket (Language, etc) | + | |
- | - Main encoding ticket (MP4) | + | |
- | - additional encoding tickets, e.g. WebM, MP3, Opus, SD formats, etc. | + | |
- | + | ||
- | + | ||
- | === Ticket states and pipeline | + | |
- | + | ||
- | For each ticket type, the tracker has a predefined set of states, which can be enabled and disabled on an per project basis. Here is an example workflow with only one manual `checking` step: | + | |
- | + | ||
- | {{drawio> | + | |
- | + | ||
- | This allows quite flexible pipelines, which are described in more detail in [[setup]] – for now lets focus on a typical one: | + | |
- | + | ||
- | {{drawio> | + | |
- | + | ||
- | + | ||
- | + | ||
- | Let's look into the steps done by worker scripts | + | |
- | + | ||
- | ==== Recording | + | |
- | ===== A: Recording Scheduler | + | |
- | + | ||
- | [[https:// | + | |
- | + | ||
- | Schedules and transitions tickets from `scheduled` via `recording` to `recorded`, optionally filters by room. Skips opt-out events, but does not perform any real task besides transitioning the recording ticket. | + | |
- | + | ||
- | - **Inputs**: CRS ticket in `scheduled` state | + | |
- | - **Outputs**: | + | |
- | - **Notes**: Uses `CRS_ROOM`, `Record.StartedBefore`, | + | |
- | + | ||
- | ===== B: Create virtual project files | + | |
- | + | ||
- | [[https:// | + | |
- | + | ||
- | Mounts raw video segments via FUSE. Checks and sets cut marks, stores metadata like duration and framerate. | + | |
- | + | ||
- | - **Inputs**: Ticket in `recording` → `preparing` state | + | |
- | - **Outputs**: | + | |
- | - **Notes**: Supports DV and TS formats | + | |
- | + | ||
- | ===== C: Finalize | + | |
- | + | ||
- | [[https:// | + | |
- | + | ||
- | Validates cut marks, adds intro/outro clips if defined, and calculates cut durations. Fails tickets with incomplete data. | + | |
- | + | ||
- | - **Inputs**: Ticket in `finalizing` state | + | |
- | - **Outputs**: | + | |
- | - **Notes**: Verifies intro/outro file paths and presence | + | |
- | + | ||
- | + | ||
- | ==== Encoding | + | |
- | + | ||
- | ===== D: Encoding | + | |
- | + | ||
- | [[https:// | + | |
- | + | ||
- | Runs encoding tasks from job XML. Skips if Voctomix is detected. Supports VAAPI acceleration and logs execution times. | + | |
- | + | ||
- | - **Inputs**: Ticket in `encoding` state | + | |
- | - **Outputs**: | + | |
- | - **Notes**: Uses CRS:: | + | |
- | + | ||
- | ===== E: Postencoding | + | |
- | + | ||
- | [[https:// | + | |
- | + | ||
- | Runs audio processing and remuxing. Can optionally delegate to Auphonic for audio leveling and rendering. | + | |
- | + | ||
- | - **Inputs**: Ticket in `postencoding` state | + | |
- | - **Outputs**: | + | |
- | - **Notes**: Supports audio hash checking and production reuse | + | |
- | + | ||
- | ===== F: Upload from Encoder (local) to Releasing host | + | |
- | + | ||
- | [[https:// | + | |
- | + | ||
- | Uploads processed files to the target via ssh from encoder/ | + | |
- | + | ||
- | - **Inputs**: Ticket in `postprocessing` state | + | |
- | - **Outputs**: | + | |
- | - **Notes**: Validates file presence, honors opt-out and skip-hosts | + | |
- | + | ||
- | ==== Publishing | + | |
- | + | ||
- | https:// | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | + | ||
- | {{: | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | == Usage during event | + | |
- | + | ||
- | + | ||
- | === Task: Cut | + | |
- | + | ||
- | see [[operation: | + | |
- | + | ||
- | {{c3_tracker_-_schnitt_mit_kdenlive.mp4}} | + | |
- | * [[https:// | + | |
- | + | ||
- | + | ||
- | * TODO: [[events: | + | |
- | + | ||
- | === Task: Check | + | |
- | + | ||
- | see [[operation: | + | |
- | + | ||
- | + | ||
- | Ticket types and states | + | |
- | + | ||
- | * Parent tickets for each [[: | + | |
- | * one recording ticket for each parent | + | |
- | * several encoding tickets, one for each format – e.g. MP4 HD, MP4 SD, WebM, MP3, Opus | + | |
- | + | ||
- | + | ||
- | == Project setup | + | |
- | + | ||
- | * Create tracker project (you can also clone a matching project to have prefilled | + | |
- | * Import schedule.xml | + | |
- | * Set all master tickets from staging to staged via mass-edit | + | |
- | * Adjust project properties, recommendations: | + | |
- | * Compare project properties with previous instalment of the same event | + | |
- | + | ||
- | see [[c3tracker: | + | |
- | + | ||
- | === User Roles | + | |
- | User accounts can have different roles depending on what the user should be able to do: | + | |
- | * " | + | |
- | * " | + | |
- | * " | + | |
- | * " | + | |
- | + | ||
- | more details on https:// | + | |
- | + | ||
- | + | ||
- | == Recording | + | |
- | Files that should be handled by the tracker (input files) should be named as follows: | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | Files need to be placed in directories according to the room name | + | |
- | < | + | |
- | Note that names are stripped from frab and combined with the word " | + | |
- | </ | + | |
- | + | ||
- | Naming for intro and outro: | + | |
- | * Intro < | + | |
- | * Outro: outro.dv | + | |
- | + | ||
- | == Postprocessing | + | |
- | + | ||
- | === Cut | + | |
- | The cutting process requires start and end marks. The tracker accepts frame numbers. If your player does not show frame numbers you can approximate with the formula | + | |
- | < | + | |
- | seconds * 25 | + | |
- | </ | + | |
- | assumed you have 25 frames per second. Note that this means you cut per second not per frame !!! | + | |
== Trackerfahrer Scripts | == Trackerfahrer Scripts | ||
Line 200: | Line 28: | ||
see [[scripts]] | see [[scripts]] | ||
- | == Ticket Properties | ||
- | see [[properties]] |