# Subtitles / Untertitel [software:voctoweb](software:voctoweb) hat mehr aktuell zwei Varianten über die publizierte Vorträge Untertitel bekommen können: \- die klassischen Workflows über die Django-App auf c3subtitles.de ([subtitleStatus](https://github.com/c3subtitles/subtitleStatus)) - per Whisper/[Transcribee](https://github.com/bugbakery/transcribee) über die [Publishing API](https://publishing.c3voc.de/docs) Vereinfacht gesagt geht es dabei immer um zwei Tasks: \- das Publizieren der SRT/VTT Datei - das Anlegen der Metadaten (aka "Subtitle Recording") in voctoweb, damit die Untertitel auch im Player angezeigt werden ## Publishing Gateway/API Um sich nicht mit den Eigenheiten der c3voc Infrastrktur herumschlagen zu müssen wurde 2023/2024 eine REST API eingerichtet die es erlaubt Zusatzdaten wie Slides, Subtitles etc. rein per REST zu publizieren, ohne das SFTP o.ä. verwendet werden muss: \- - Die dazu notwendigen API Keys sind aktuell noch statisch konfiguriert, sollen aber perspektivisch an angebunden werden. ## Transcribee TBD ## Classic workflow via c3subtitles.de/Amara/etc. \Achtung: Der Rest dieser Seite beschreibt den alten Workflow, der aktuell nicht mehr aktiv in Verwendung ist. Das Team hat hatte zwischenzeitlich eigene Infrastruktur unter die bei selfnet gehostet war – inzwischen ist diese VM aber leider aus unbekannten Gründen nicht mehr erreichbar. \ Components \- [sync_media_recordings.py](https://github.com/voc/scripts/blob/master/subtitles/sync_media_recordings.py) uses CSV export from \`subtitlesStatus\` to publish subtiles in [vocotoweb](vocotoweb) via REST API: - was running every 10 minutes via systemd timer [intern:server:releasing.c3voc.de](intern:server:releasing.c3voc.de)\`:/etc/systemd/system/publish-subtitles.timer\` \- \[subtitleStatus\]() (Django-App @ c3subtitles.de) - Dashboard mit Übersicht des Transkriptionsstatus pro Konferenz und Vortrag - Workflow-Manager - … - schiebt fertige Untertitel-Dateien (SRT) per rsync auf mirror.selfnet.de ![](::docs:architecture-overview-subtitles.png?600) ### CSV-Export from C3Subtitles: Example: ^ \`GUID\` ^ \`complete\` ^ \`media_language\` ^ \`srt_language\` ^ \`last_changed_on_amara\` ^ \`revision\` ^ \`url\` ^ \`touched\` ^ \`amara_key\` ^ \`amara_language\` ^ \`state\` ^ \`amara_subtitle_url\` ^ | | | | | | | | | | | | | |--------------------------------------|-------|-----|-----|-------------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|--------------|-----|-----|---------------------------------------------------------------------| | db11e86c-ecf8-40c0-b8d8-2f6798507146 | False | eng | en | 1-01-01T00:00:00Z | 1 | | 2021-01-03T12:30:45Z | P4gHpqpuJJIA | en | 7 | | | 221560a2-7470-4e90-9190-99a2bef53238 | False | deu | de | 1-01-01T00:00:00Z | 1 | | 2021-01-06T10:37:48Z | dSkmesksKqIe | de | 2 | | | 6beabddc-2dd6-43d2-9936-618d41d42cde | True | deu | de | 1-01-01T00:00:00Z | 5 | | 2021-01-01T23:14:02Z | vsf2PBryeqW9 | de | 8 | | | 7bdf7688-8620-4170-93bf-3c2adfd30030 | False | deu | de | 1-01-01T00:00:00Z | 1 | | 2020-12-30T10:58:21Z | NWHl9bK0MXF8 | de | 2 | | | 52ce1398-fa9b-4bd3-aa9e-6a49a764ac2c | True | deu | de | 1-01-01T00:00:00Z | 7 | | 2021-01-04T22:17:06Z | 3mDTDpROSDxZ | de | 8 | | | 1cff41a8-455e-42a6-ab08-d6cb166e7d3b | False | deu | de | 1-01-01T00:00:00Z | 1 | | 2021-01-04T22:12:21Z | gAbEiRm8Mocc | de | 2 | | To download the raw (draft) subtitles from Amara, append use \`https:*amara.org/api/videos/{amara_key}/languages/{amara_lanuage}/subtitles/?format=vtt\` (compare )* #### States For voctoweb (media.ccc.de) only states 7, 8 and 12 are relevant. Subtitle files in all other states should be ignored. ![](tablelayout?colwidth="") ^ ID ^ voctoweb ^ c3subtitles ^ additional information ^ | | | | | |-----|------------|---------------------------------------|------------------------------------------------| | 1 | | Nothing available yet | irrelevant should not exist | | 2 | todo | Transcribed until | should exist | | 3 | | Transcript finished | might exist - still no timestamps | | 4 | | Please do not touch, work in progress | Autotiming in process no timestamps | | 5 | | Synced until | rare case of syncing by hand | | 6 | | Syncing finished | with timestamps, usable as draft | | 7 | draft | Quality control done until | with timestamps, usable as draft | | 8 | complete | Job completed | finished, obviously with timestamps and usable | | 9 | | Unknown | should not exist | | 11 | todo | Translated until | translation, not usable as draft | | 12 | translated | Translation is finished | finished, obviously with timestamps and usable |