Transcriptie 18 — opname en transcriptie vanuit een OciDeck-call #2526
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2526
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bovenliggend epic: #2508
Afhankelijk van: #2509, #2510, #2511, #2514, #2522 én een werkelijk werkende in-app
MeetingProvider-adapter met ontvangen en uitgaande audiotracks. Voor gekozen serververwerking gelden ook #2524 en #2525., #2538Gebruikersdoel
Ik neem in OciDeck deel aan een call en kan in het callpaneel zelf Opname en transcriptie starten. Ik zie wat wordt opgenomen, kan stoppen en krijg na de call een bewerkbaar transcript. Voorlopige tekst tijdens de call is beschikbaar wanneer de gekozen engine dat aantoonbaar aankan.
Voorwaarde voor een echte call: #2532 en de geslaagde platformproef #2538.
Feitelijke basis en afbakening
lib/meetings/meeting_provider.dartdefinieertMeetingSession, deelnemers en tracks;lib/state/meeting_session_provider.darthoudt een sessie app-breed vast.CallPanelheeft nu alleen een lege toestand en een met fake sessie geteste actieve layout: er is volgens de huidige code nog geen echte in-app joinflow of productie-adapter.RecordingIndicatorChangedduidt een providerindicator aan en is geen bewijs dat OciDeck lokaal opneemt.docs/design/NATIVE_CALLS.mdbeschrijft Jitsi/Matrix als ontwerp. Deze route mag dus niet als reeds bruikbare calltranscriptie worden geclaimd.Dit issue geldt voor een call die binnen OciDeck via een ondersteunde adapter loopt. Geluid van een call in Teams/Jitsi/browser buiten OciDeck valt onder de aparte OS-/browserbronissues #2518, #2519, #2520 en #2521. Geen omweg om beperkingen van een vergaderprovider te negeren.
Werk
CallPaneleen duidelijke actieOpnemen en transcriberentoe, met bronoverzicht, lokale of bewust gekozen serverengine, opslagkeuze en zichtbare start/stop/status. Opname staat standaard uit en begint nooit door deelnemen, presenteren, AI Assist of het aanzetten van de uitbreiding.MeetingSession/media-core: ontvangen spraaktracks van deelnemers plus de eigen audio zoals die daadwerkelijk naar de call wordt uitgezonden. Controleer de werkelijke tracktoegang per adapter/platform. Voorkom dubbele opname via luidsprekerloopback, feedback en een onbedoeld meeluisteren naar een lokaal gedempte microfoon. Een presentatiescherm of tabbladwissel mag de call/opname niet verplaatsen of verdubbelen.Uitvoerbare deeltickets
Deze volgorde begint pas na een echte calladapter. De laatste proef controleert de volledige route op werkelijk ondersteunde platforms.
Echte opnameproeven per platform
Acceptatie
Bronnen
OciDeck
lib/widgets/panels/call_panel.dart,lib/meetings/meeting_provider.dart,lib/meetings/meeting_event.dart,lib/state/meeting_session_provider.dart,docs/design/NATIVE_CALLS.md§7–10,docs/design/COLLABORATION.md§7.1.6.Cierre del padre: los cinco deeltickets aterrizaron y el recorrido completo está en main. #2527 fuente de audio por track (PR #2595), #2528 controles/consentimiento en el callpanel, #2529 grabación durable vía pipeline de transcripción (PR #2596,
d809a5b), #2530 transcript live+final con provenance de sources.json (PR #2597,46d47ec) y #2531 guía de pruebas + provenance en web (PR #2598,b153a165). Plataformas afirmadas: macOS + web (probadas en llamadas reales #2541/#2544/#2545/#2548); Windows/Linux reportan noPerSourceTap honestamente — sin botón roto. Sin upload silencioso: live requiere ServerConsent.liveSession por sesión, batch requiere consent por archivo. Speaker labels nunca se inventan del roster. La evidencia de la matriz de aceptación quedó consolidada en docs/TRANSCRIPTION_SETUP.md (PR #2600,948bd15).