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/18 18:04] – andi | c3tracker:start [2026/07/26 22:17] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | = CRS Ticket Tracker | + | # CRS Ticket Tracker |
| The Ticket Tracker is a web platform tracking process of video recording and ingest sources and video encoding progress. It guides users through manual processes like editing and checking and provides an API for scripts doing post processing and encoding. | The Ticket Tracker is a web platform tracking process of video recording and ingest sources and video encoding progress. It guides users through manual processes like editing and checking and provides an API for scripts doing post processing and encoding. | ||
| 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, | + | ## Trackerfahrer Scripts |
| - | + | ||
| - | === 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 | + | |
| - | + | ||
| - | 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> | + | |
| - | + | ||
| - | Now let's look into the steps done by worker scripts | + | |
| - | + | ||
| - | ==== Step A: Recording Scheduler | + | |
| - | + | ||
| - | [[https:// | + | |
| - | + | ||
| - | Schedules and transitions tickets from `scheduled` to `recording`. Adds padding and optionally filters by room. Skips opt-out events. | + | |
| - | + | ||
| - | - **Inputs**: CRS ticket in `scheduled` state | + | |
| - | - **Outputs**: | + | |
| - | - **Notes**: Uses `CRS_ROOM`, `Record.StartedBefore`, | + | |
| - | + | ||
| - | ==== Step 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 | + | |
| - | + | ||
| - | ==== Step C: Cut Postprocessing | + | |
| - | + | ||
| - | [[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 | + | |
| - | + | ||
| - | ==== Step 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:: | + | |
| - | + | ||
| - | ==== Step 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 | + | |
| - | + | ||
| - | ==== Step F: Upload | + | |
| - | + | ||
| - | [[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 | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | == 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 properties) | + | |
| - | * 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 | + | |
| see [[scripts]] | see [[scripts]] | ||
| - | == Ticket Properties | ||
| - | see [[properties]] | ||