c3tracker:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
c3tracker:start [2025/06/19 00:47] andic3tracker:start [2025/06/19 11:37] (current) andi
Line 19: Line 19:
 * [[https://wiki.fem.tu-ilmenau.de/public/projekte/c3/start | FeM tracker Beschreibung / FeM *C3 Doku]] * [[https://wiki.fem.tu-ilmenau.de/public/projekte/c3/start | FeM tracker Beschreibung / FeM *C3 Doku]]
 * [[https://repository.fem.tu-ilmenau.de/trac/c3tt/wiki | FeM tracker doku]] * [[https://repository.fem.tu-ilmenau.de/trac/c3tt/wiki | FeM tracker doku]]
-* [[https://wiki.fem.tu-ilmenau.de/streaming/projekte/c3/28c3/crs/pipeline | old FeM tracker doku (probably outdated but still usefull]] 
  
 +== 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, certain project settings must be configured and a few of the state transitions must be operated manually: +
- +
-=== 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>c3tracker:states}} +
- +
-This allows quite flexible pipelines, which are described in more detail in [[setup]] – for now lets focus on a typical one: +
- +
-{{drawio>c3tracker:setup-central-storage.png}} +
- +
- +
- +
-Let's look into the steps done by worker scripts +
- +
-==== Recording +
-===== A: Recording Scheduler +
- +
-[[https://github.com/crs-tools/crs-scripts/blob/master/scripts/script-A-recording-scheduler.pl|script-A-recording-scheduler.pl]] +
- +
-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**: Ticket moved to `recording` or skipped +
-- **Notes**: Uses `CRS_ROOM`, `Record.StartedBefore`, and `Record.EndedBefore` filters +
- +
-===== B: Create virtual project files +
- +
-[[https://github.com/crs-tools/crs-scripts/blob/master/scripts/script-B-mount4cut.pl|script-B-mount4cut.pl]] +
- +
-Mounts raw video segments via FUSE. Checks and sets cut marks, stores metadata like duration and framerate. +
- +
-- **Inputs**: Ticket in `recording` → `preparing` state +
-- **Outputs**: FUSE mount created and cut marks optionally stored +
-- **Notes**: Supports DV and TS formats +
- +
-===== C: Finalize +
- +
-[[https://github.com/crs-tools/crs-scripts/blob/master/scripts/script-C-cut-postprocessor.pl|script-C-cut-postprocessor.pl]] +
- +
-Validates cut marks, adds intro/outro clips if defined, and calculates cut durations. Fails tickets with incomplete data. +
- +
-- **Inputs**: Ticket in `finalizing` state +
-- **Outputs**: Ticket updated with durations and metadata +
-- **Notes**: Verifies intro/outro file paths and presence +
- +
- +
-==== Encoding +
- +
-===== D: Encoding +
- +
-[[https://github.com/crs-tools/crs-scripts/blob/master/scripts/script-D-encoding.pl|script-D-encoding.pl]] +
- +
-Runs encoding tasks from job XML. Skips if Voctomix is detected. Supports VAAPI acceleration and logs execution times. +
- +
-- **Inputs**: Ticket in `encoding` state +
-- **Outputs**: Encoded media file(s), ticket state updated +
-- **Notes**: Uses CRS::Executor and task-type detection +
- +
-===== E: Postencoding  +
- +
-[[https://github.com/crs-tools/crs-scripts/blob/master/scripts/script-E-postencoding-auphonic.pl|script-E-postencoding-auphonic.pl]] +
- +
-Runs audio processing and remuxing. Can optionally delegate to Auphonic for audio leveling and rendering. +
- +
-- **Inputs**: Ticket in `postencoding` state +
-- **Outputs**: Updated audio tracks and metadata +
-- **Notes**: Supports audio hash checking and production reuse +
- +
-===== F: Upload from Encoder (local) to Releasing host +
- +
-[[https://github.com/crs-tools/crs-scripts/blob/master/scripts/script-F-postprocessing-upload.pl|script-F-postprocessing-upload.pl]] +
- +
-Uploads processed files to the target via ssh from encoder/storage to [[intern:server:releasing.c3voc.de]]. Can skip uploads based on host config. +
- +
-- **Inputs**: Ticket in `postprocessing` state +
-- **Outputs**: Files pushed to publishing target +
-- **Notes**: Validates file presence, honors opt-out and skip-hosts +
- +
-==== Publishing +
- +
-https://github.com/voc/voctopublish +
- +
-{{:software:media-ccc-de_publishing.png?800|}} +
- +
- +
-{{:software:media-ccc-de_architecture.png?800|}} +
- +
- +
- +
- +
-== Usage during event +
- +
- +
-=== Task: Cut +
- +
-see [[operation:cutting]] +
- +
-{{c3_tracker_-_schnitt_mit_kdenlive.mp4}} +
-* [[https://www.youtube.com/watch?v=K-KHbAcTo9I|Usage video YT link]] (german) +
- +
- +
-* TODO: [[events:cccamp15:pp]] integrieren +
- +
-=== Task: Check  +
- +
-see [[operation:checking]] +
- +
- +
-Ticket types and states +
- +
-* Parent tickets for each [[:schedule|Fahrplan]] entry +
-* 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: (full reference at the bottom of the page) +
-  * Compare project properties with previous instalment of the same event +
- +
-see [[c3tracker:setup]] for more details +
- +
-=== User Roles +
-User accounts can have different roles depending on what the user should be able to do: +
-  * "User" - can cut and edit tickets +
-  * "Restricted" - can only use already defined actions and can't define new actions +
-  * "Superuser" -  can edit profiles and (re)import fahrplan +
-  * "Admin" +
- +
-more details on https://github.com/crs-tools/tracker/blob/master/src/Config/AccessControl.php +
- +
- +
-== Recording +
-Files that should be handled by the tracker (input files) should be named as follows: +
-<code> +
-  <room>-YYYY-MM-DD_HH-MM-SS.<extension> +
-</code> +
- +
-Files need to be placed in directories according to the room name +
-<bootnote> +
-Note that names are stripped from frab and combined with the word "saal" which means i.e. "startrampe 23" results in "saal23". THIS WILL BE FIXED IN THE FUTURE. +
-</bootnote> +
- +
-Naming for intro and outro: +
-  * Intro <frab-id>.dv  +
-  * 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 +
-<code> +
-seconds * 25 +
-</code> +
-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]] 
  • c3tracker/start.1750286873.txt.gz
  • Last modified: 2025/06/19 00:47
  • by andi