Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
c3tracker:setup [2024/08/28 18:37] – kunsi | c3tracker:setup [2025/01/31 20:59] (current) – kunsi | ||
---|---|---|---|
Line 6: | Line 6: | ||
* Adjust project properties, recommendations: | * Adjust project properties, recommendations: | ||
* Compare project properties with previous instalment of the same event | * Compare project properties with previous instalment of the same event | ||
+ | |||
==== optimal properties from current project ==== | ==== optimal properties from current project ==== | ||
- | ``` | + | Replace |
- | Meta.Acronym | + | |
- | Meta.Album | + | |
- | Meta.License | + | |
- | Meta.Year 2023 | + | |
- | Processing.Auphonic.Enable | + | Meta.Acronym |
- | Processing.BasePath | + | Meta.Album |
- | Processing.MasterMe.Enable | + | Meta.License |
- | Processing.Path.Intros | + | Meta.Year |
- | Processing.Path.Outro | + | |
+ | | ||
+ | Processing.BasePath | ||
+ | Processing.MasterMe.Enable | ||
+ | Processing.Path.Intros | ||
+ | Processing.Path.Outro | ||
+ | |||
+ | Publishing.Upload.SkipSlaves | ||
+ | Publishing.UploadTarget | ||
+ | Publishing.Tags | ||
+ | Publishing.Voctoweb.Enable | ||
+ | Publishing.Voctoweb.Path | ||
+ | Publishing.Voctoweb.Slug | ||
+ | Publishing.Voctoweb.Thumbpath | ||
+ | Publishing.YouTube.Category | ||
+ | Publishing.YouTube.Enable | ||
+ | Publishing.YouTube.Playlists | ||
+ | Publishing.YouTube.Privacy | ||
+ | Publishing.YouTube.Token | ||
+ | |||
+ | Record.Container | ||
+ | Record.EndPadding | ||
+ | Record.Slides | ||
+ | Record.StartPadding | ||
- | Publishing.Path | ||
- | Publishing.Upload.SkipSlaves | ||
- | Publishing.UploadTarget | ||
- | Publishing.Tags | ||
- | Publishing.Voctoweb.Enable | ||
- | Publishing.Voctoweb.Path | ||
- | Publishing.Voctoweb.Slug | ||
- | Publishing.Voctoweb.Thumbpath | ||
- | Publishing.YouTube.Category | ||
- | Publishing.YouTube.Enable | ||
- | Publishing.YouTube.Playlists | ||
- | Publishing.YouTube.Privacy | ||
- | Publishing.YouTube.Token | ||
- | |||
- | Record.Container | ||
- | Record.EndPadding | ||
- | Record.Slides | ||
- | Record.StartPadding | ||
- | ``` | ||
=== Worker Filter Examples | === Worker Filter Examples | ||
- | ``` | ||
- | EncodingProfile.IsMaster=no | ||
- | EncodingProfile.IsMaster=yes | ||
- | EncodingProfile.IsMaster= | ||
- | Fahrplan.Room=Servus.at Lab | ||
- | ``` | ||
- | Please note that the conditions in the " | + | EncodingProfile.IsMaster=no |
+ | EncodingProfile.IsMaster=yes | ||
+ | EncodingProfile.IsMaster= | ||
+ | Fahrplan.Room=Servus.at Lab | ||
+ | |||
+ | |||
+ | Please note that the conditions in the " | ||
- | Specifying a property with an empty value, which is often done for EncodingProfile.IsMaster, | + | Specifying a property with an empty value, which is often done for `EncodingProfile.IsMaster`, will match if this property does not exist at all on a ticket. So for `EncodingProfile.IsMaster`, specifying an empty filter will match on recording tickets which never have this property. |
== Pipeline setup during event | == Pipeline setup during event | ||
Line 58: | Line 59: | ||
- | === Simple: | + | === Simple: |
{{drawio> | {{drawio> | ||
Line 67: | Line 68: | ||
For every worker: | For every worker: | ||
- | * set room filters in tracker e.g. `Fahrplan.Room = Foobar` | + | * set `EncodingProfile.IsMaster = yes` to avoid encoding all sub formats |
+ | * (set room filters in tracker e.g. `Fahrplan.Room = Foobar`, but this cannot be used at the same times as the above, see the warning below) | ||
For every recoding cube: | For every recoding cube: | ||
Line 76: | Line 78: | ||
* start tracker scripts for encoding: `sudo systemctl start crs-encoding.service` | * start tracker scripts for encoding: `sudo systemctl start crs-encoding.service` | ||
+ | |||
+ | <panel type=" | ||
=== centralised storage (rsync) (Variant 1) | === centralised storage (rsync) (Variant 1) | ||
Line 104: | Line 108: | ||
The rest is very similar to above, but with different mounts so `/ | The rest is very similar to above, but with different mounts so `/ | ||
- | ```bash | + | |
- | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
- | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
- | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
- | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
- | ``` | + | |
| | ||
- | === decentralised pipeline (Variant 3) | + | === decentralised pipeline |
<panel type=" | <panel type=" | ||
- | Similar to variant 2, but the release encoder (minion) only mounts the / | + | Similar to variant 2, but extended to work with multiple rooms. Instead of using rsync, recorded snippets remain on the encoding cubes and '' |
+ | |||
+ | Tracker filters have to be set only for the recording cubes, minions do not require any filters (but on smaller events without many minions, a '' | ||
+ | |||
+ | On recording cubes: start the followin systemd units: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | On all minions, including the one acting as storage, do | ||
- | You have to set the room filters only for the recording cubes, the minions can process talks independently. | + | mkdir -p / |
+ | mount.cifs -o uid=voc, | ||
+ | mount.cifs -o uid=voc, | ||
+ | ... | ||
- | * On recording cubes: | + | On all minions except the one acting as storage, also mount: |
- | * On release encoders: start systemd units for steps D '' | + | |
+ | mount.cifs -o uid=voc, | ||
+ | mount.cifs -o uid=voc, | ||
+ | mount.cifs -o uid=voc, | ||
+ | Finally on all minions, including the one acting as storage, start the following systemd units: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | ==== New example with systemd units and case 1 and 5: | + | ==== Old example with systemd units and case 1 and 5, which was used during jev22 in Munich: |
{{drawio> | {{drawio> | ||
Line 143: | Line 165: | ||
on master minion (in this example `storage.lan.c3voc.de`) | on master minion (in this example `storage.lan.c3voc.de`) | ||
- | ``` | ||
- | mkdir -p / | ||
- | mount -t cifs -o password= {// | ||
- | mount -t cifs -o password= {// | ||
- | sudo systemctl start crs-encoding | + | mkdir -p / |
- | sudo systemctl start crs-postencoding | + | mount -t cifs -o password= {// |
- | sudo systemctl start crs-postprocessing | + | mount -t cifs -o password= {// |
- | + | ||
- | # check if everything is running as expected – you might have to disable/ | + | |
- | sudo systemctl status -n 0 crs-* | + | sudo systemctl start crs-postencoding |
+ | sudo systemctl start crs-postprocessing | ||
+ | |||
+ | # check if everything is running as expected – you might have to disable/ | ||
+ | sudo systemctl status -n 0 crs-* | ||
- | ``` | ||
//(ensure that samba is installed on this master minion aka storage)// | //(ensure that samba is installed on this master minion aka storage)// | ||
Line 161: | Line 182: | ||
on other minions | on other minions | ||
- | ``` | ||
- | mkdir -p / | ||
- | mount -t cifs -o uid=voc, | ||
- | mount -t cifs -o uid=voc, | ||
- | mount -t cifs // | ||
- | mount -t cifs -o password= // | ||
- | mount -t cifs -o password= // | ||
- | mount -t cifs -o password= {// | ||
- | ``` | + | mkdir -p / |
+ | mount -t cifs -o uid=voc, | ||
+ | mount -t cifs -o uid=voc, | ||
+ | mount -t cifs // | ||
+ | mount -t cifs -o password= // | ||
+ | mount -t cifs -o password= // | ||
+ | mount -t cifs -o password= {// | ||
Line 184: | Line 203: | ||
on master minion (in this example minion5) | on master minion (in this example minion5) | ||
- | ``` | ||
- | mount -t cifs -o password= // | ||
- | mount -t cifs -o password= // | ||
- | mount -t cifs -o password= // | ||
- | cd / | ||
- | sudo ./start screenrc-pipeline # with steps D, E, F | ||
- | ``` | + | mount -t cifs -o password= // |
+ | mount -t cifs -o password= // | ||
+ | mount -t cifs -o password= // | ||
+ | cd / | ||
+ | sudo ./start screenrc-pipeline # with steps D, E, F | ||
//(ensure that samba is installed on this master minion)// | //(ensure that samba is installed on this master minion)// | ||
on other minions | on other minions | ||
- | ``` | ||
- | mount -t cifs -o password= {// | ||
- | mount -t cifs -o password= {// | ||
- | mount -t cifs // | ||
- | mount -t cifs -o password= // | ||
- | mount -t cifs -o password= // | ||
- | mount -t cifs -o password= {// | ||
- | cd / | ||
- | sudo ./start screenrc-encoding-only # only step E | ||
- | |||
- | ``` | ||
+ | mount -t cifs -o password= {// | ||
+ | mount -t cifs -o password= {// | ||
+ | mount -t cifs // | ||
+ | mount -t cifs -o password= // | ||
+ | mount -t cifs -o password= // | ||
+ | mount -t cifs -o password= {// | ||
+ | cd / | ||
+ | sudo ./start screenrc-encoding-only # only step E |