Recording · Day 1
Council meeting - Public hearing
Technical details
Recording ID
832
Meeting ID
11
File path
0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv
Recording information
Status
Completed
Downloading…
0%
Duration
11h29m
Start time
2026-04-08 13:30
End time
2026-04-09 06:59
Extract audio
Extract WAV audio for transcription and diarization
Progress
Storage & files
| File type | Storage | Path / Key | Status | Action |
|---|---|---|---|---|
| Video | S3 | 0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv | Exists | |
| Transcript | S3 | 9b301849-6c55-439c-9e3c-61f09b2485d5.json | Exists | |
| WAV | S3 | 78d19a16-bdc9-47b1-b3cd-f469221d0e75.wav | Exists | |
| Diarization Pyannote | S3 | 0d6be9d2-915b-4fcc-b7c5-07411d5f0250.json | Exists | |
| Diarization Gemini | S3 | 854c23ac-1615-4aaf-8b6f-a1880d2a5784.json | Exists | |
| Diarization Consolidated | S3 | 515a85d2-aa33-4e8d-8a0b-d246d263528c.json | Exists |
Transcription progress
Completed
Loading transcription status…
Transcript & diarization
Full recording transcript and speaker diarization data available for download.
Gemini-refined · speaker labels improved with AI using meeting agenda context
Processing logs
182 entries
2 errors
63 warnings
20:39:36
[INFO]
Consolidation completed: 1204 segments (reduced from 3709)
20:39:36
[INFO]
{"step": "consolidation", "status": "completed", "updated_at": "2026-06-17T14:39:36.156924-06:00", "consolidated_path": "854c23ac-1615-4aaf-8b6f-a1880d2a5784.diarization.consolidated.json", "stats": {"original_segment_count": 3709, "consolidated_segment_count": 1204, "reduction_percent": 67.54}}
20:39:35
[INFO]
{"step": "consolidation", "status": "processing", "updated_at": "2026-06-17T14:39:35.780140-06:00"}
20:39:35
[INFO]
Speaker refinement completed
20:39:35
[INFO]
{"step": "gemini", "status": "completed", "updated_at": "2026-06-17T14:39:35.769908-06:00", "output_path": "/tmp/tmpw51463jx.json"}
20:39:35
[INFO]
================================================================================
20:39:35
[INFO]
CHUNKING COMPLETE: Successfully merged all 3 chunks in 226.4s
20:39:35
[INFO]
================================================================================
20:39:35
[INFO]
✓ Unique speaker mappings discovered: 29
20:39:35
[INFO]
✓ Speakers: 22 named, 28 generic
20:39:35
[INFO]
✓ Segment count: 3709/3709
20:39:35
[WARNING]
Large gap detected at segment 3682: 41206.105s -> 41227.125s
20:39:35
[WARNING]
Large gap detected at segment 3643: 40998.405s -> 41003.445s
20:39:35
[WARNING]
Large gap detected at segment 3569: 40547.425s -> 40554.485s
20:39:35
[WARNING]
Large gap detected at segment 3492: 40139.865s -> 40147.025s
20:39:35
[WARNING]
Large gap detected at segment 3447: 39891.485s -> 39907.785s
20:39:35
[WARNING]
Large gap detected at segment 3446: 39882.165s -> 39889.105s
20:39:35
[WARNING]
Large gap detected at segment 3435: 39850.345s -> 39855.405s
20:39:35
[WARNING]
Large gap detected at segment 3392: 39570.885s -> 39579.545s
20:39:35
[WARNING]
Large gap detected at segment 3387: 39543.585s -> 39562.645s
20:39:35
[WARNING]
Large gap detected at segment 3347: 39381.965s -> 39404.225s
20:39:35
[WARNING]
Large gap detected at segment 3269: 38841.365s -> 38855.165s
20:39:35
[WARNING]
Large gap detected at segment 3267: 38834.145s -> 38839.185s
20:39:35
[WARNING]
Large gap detected at segment 3265: 38816.505s -> 38827.325s
20:39:35
[WARNING]
Overlap detected at segment 3246: 38753.025s -> 38752.205s
20:39:35
[WARNING]
Large gap detected at segment 3228: 38679.965s -> 38692.325s
20:39:35
[WARNING]
Large gap detected at segment 3224: 38662.225s -> 38674.385s
20:39:35
[WARNING]
Large gap detected at segment 3116: 38030.985s -> 38039.245s
20:39:35
[WARNING]
Large gap detected at segment 3107: 37996.405s -> 38011.005s
20:39:35
[WARNING]
Large gap detected at segment 3103: 37958.045s -> 37963.305s
20:39:35
[WARNING]
Large gap detected at segment 3082: 37776.805s -> 37783.185s
20:39:35
[WARNING]
Large gap detected at segment 3043: 37532.005s -> 37541.685s
20:39:35
[WARNING]
Large gap detected at segment 3040: 37518.765s -> 37524.525s
20:39:35
[WARNING]
Large gap detected at segment 3026: 37362.765s -> 37384.985s
20:39:35
[WARNING]
Large gap detected at segment 3018: 37314.985s -> 37320.905s
20:39:35
[WARNING]
Large gap detected at segment 2846: 31574.765s -> 36194.965s
20:39:35
[WARNING]
Large gap detected at segment 2842: 31544.565s -> 31549.625s
20:39:35
[WARNING]
Large gap detected at segment 2828: 31501.525s -> 31517.825s
20:39:35
[WARNING]
Large gap detected at segment 2742: 31026.905s -> 31032.885s
20:39:35
[WARNING]
Large gap detected at segment 2656: 30467.925s -> 30473.085s
20:39:35
[WARNING]
Large gap detected at segment 2548: 29769.225s -> 29788.065s
20:39:35
[WARNING]
Large gap detected at segment 2540: 29728.445s -> 29735.485s
20:39:35
[WARNING]
Large gap detected at segment 2536: 29703.905s -> 29720.925s
20:39:35
[WARNING]
Large gap detected at segment 2530: 29641.525s -> 29647.885s
20:39:35
[WARNING]
Large gap detected at segment 2525: 29602.625s -> 29608.885s
20:39:35
[WARNING]
Large gap detected at segment 2351: 28754.005s -> 28760.085s
20:39:35
[WARNING]
Large gap detected at segment 2267: 28382.505s -> 28395.585s
20:39:35
[WARNING]
Large gap detected at segment 2261: 28351.085s -> 28367.585s
20:39:35
[WARNING]
Large gap detected at segment 1914: 25662.425s -> 26378.205s
20:39:35
[WARNING]
Large gap detected at segment 1812: 25170.065s -> 25177.065s
20:39:35
[WARNING]
Large gap detected at segment 1773: 24929.225s -> 24954.365s
20:39:35
[WARNING]
Large gap detected at segment 1647: 24240.105s -> 24250.225s
20:39:35
[WARNING]
Large gap detected at segment 1636: 24194.985s -> 24200.485s
20:39:35
[WARNING]
Large gap detected at segment 1634: 24170.405s -> 24192.225s
20:39:35
[WARNING]
Large gap detected at segment 1537: 16563.245s -> 23706.065s
20:39:35
[WARNING]
Large gap detected at segment 1533: 16532.525s -> 16539.765s
20:39:35
[WARNING]
Large gap detected at segment 1257: 11372.505s -> 14731.005s
20:39:35
[WARNING]
Large gap detected at segment 1244: 11300.045s -> 11322.865s
20:39:35
[WARNING]
Large gap detected at segment 1201: 11124.785s -> 11130.165s
20:39:35
[WARNING]
Large gap detected at segment 1141: 10217.725s -> 10228.005s
20:39:35
[WARNING]
Large gap detected at segment 563: 5784.965s -> 5792.205s
20:39:35
[WARNING]
Large gap detected at segment 476: 5130.525s -> 5137.385s
20:39:35
[WARNING]
Large gap detected at segment 415: 4551.485s -> 4561.965s
20:39:35
[WARNING]
Large gap detected at segment 397: 4346.105s -> 4359.005s
20:39:35
[WARNING]
Large gap detected at segment 347: 4063.145s -> 4069.625s
20:39:35
[WARNING]
Large gap detected at segment 197: 2329.005s -> 2337.405s
20:39:35
[WARNING]
Large gap detected at segment 193: 2233.905s -> 2239.965s
20:39:35
[WARNING]
Large gap detected at segment 107: 1743.865s -> 1749.565s
20:39:35
[WARNING]
Large gap detected at segment 58: 1282.445s -> 1287.925s
20:39:35
[WARNING]
Large gap detected at segment 53: 1267.265s -> 1273.725s
20:39:35
[WARNING]
Large gap detected at segment 52: 1256.465s -> 1267.125s
20:39:35
[WARNING]
Large gap detected at segment 47: 1230.865s -> 1249.685s
20:39:35
[WARNING]
Overlap detected at segment 30: 1115.185s -> 1114.445s
20:39:35
[INFO]
VALIDATING MERGED RESULT
20:39:35
[INFO]
--------------------------------------------------------------------------------
20:39:35
[DEBUG]
Saved chunk 3 state to database
20:39:35
[INFO]
Chunk 3: ✓ Refined successfully. Total speaker mappings: 29
20:39:35
[INFO]
Chunk 3: Added 19 new speaker mappings. Total: 29
20:39:35
[INFO]
Chunk 3: Gemini returned 22 speakers (2 refined: Councillor Tyres, Mayor Farkas)
20:39:35
[INFO]
Chunk 3: Successfully refined 3 segments with sparse mapping
20:39:35
[INFO]
Saved parsed JSON: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_003_parsed.json
20:39:35
[INFO]
Saved chunk response: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_003_response.txt
20:39:35
[INFO]
Chunk 3: Gemini finish_reason: FinishReason.STOP
20:39:35
[INFO]
Chunk 3: Received Gemini API response in 68.9s
20:38:26
[INFO]
Chunk 3: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 88407 chars)...
20:38:26
[INFO]
Saved chunk input: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_003_input.json
20:38:26
[INFO]
Time range: 37197.2s - 41346.1s
20:38:26
[INFO]
Processing chunk 3/3 (703 segments)
20:38:26
[INFO]
--------------------------------------------------------------------------------
20:38:26
[DEBUG]
Saved chunk 2 state to database
20:38:26
[INFO]
Chunk 2: ✓ Refined successfully. Total speaker mappings: 29
20:38:26
[INFO]
Chunk 2: Added 26 new speaker mappings. Total: 29
20:38:26
[INFO]
Chunk 2: Gemini returned 42 speakers (16 refined: Administration, Councillor A. Chabot, Councillor Clark, Councillor D. McLean, Councillor J. Wyness, Councillor Johnston, Councillor Kelly, Councillor R. Dhaliwal, Councillor Tyres, Councillor Ward, Councillor Yule, Deputy Mayor Jameson, GM Hamilton, Mayor Farkas, Mike Maliki, Ulrich Seward)
20:38:26
[INFO]
Chunk 2: Successfully refined 33 segments with sparse mapping
20:38:26
[INFO]
Saved parsed JSON: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_002_parsed.json
20:38:26
[INFO]
Saved chunk response: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_002_response.txt
20:38:26
[INFO]
Chunk 2: Gemini finish_reason: FinishReason.STOP
20:38:26
[INFO]
Chunk 2: Received Gemini API response in 84.0s
20:37:02
[INFO]
Chunk 2: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 175950 chars)...
20:37:01
[INFO]
Saved chunk input: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_002_input.json
20:37:01
[INFO]
Time range: 16370.8s - 37194.8s
20:37:01
[INFO]
Processing chunk 2/3 (1503 segments)
20:37:01
[INFO]
--------------------------------------------------------------------------------
20:37:01
[DEBUG]
Saved chunk 1 state to database
20:37:01
[INFO]
Chunk 1: ✓ Refined successfully. Total speaker mappings: 28
20:37:01
[INFO]
Chunk 1: Added 28 new speaker mappings. Total: 28
20:37:01
[INFO]
Chunk 1: Gemini returned 35 speakers (10 refined: Chris Blastrick, Councillor D. McLean, Councillor Jameson, Councillor Kelly, Councillor Yule, Joel Mueller, Manager Christian Lee, Mike Maliki, Ms. Choi, Ms. Wabister)
20:37:01
[INFO]
Chunk 1: Successfully refined 103 segments with sparse mapping
20:37:01
[INFO]
Saved parsed JSON: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_001_parsed.json
20:37:01
[INFO]
Saved chunk response: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_001_response.txt
20:37:01
[INFO]
Chunk 1: Gemini finish_reason: FinishReason.STOP
20:37:01
[INFO]
Chunk 1: Received Gemini API response in 72.5s
20:35:49
[INFO]
Chunk 1: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 231738 chars)...
20:35:49
[INFO]
Saved chunk input: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug/chunk_001_input.json
20:35:49
[INFO]
Time range: 1054.1s - 16367.5s
20:35:49
[INFO]
Processing chunk 1/3 (1503 segments)
20:35:49
[INFO]
--------------------------------------------------------------------------------
20:35:49
[INFO]
Prior run found but no chunks completed. Starting from chunk 1/3
20:35:49
[INFO]
Chunk tracking initialized in database
20:35:49
[INFO]
Creating chunk tracking records for 3 chunks
20:35:49
[INFO]
Split into 3 chunks
20:35:49
[INFO]
================================================================================
20:35:49
[INFO]
City Clerk City Clerk, Councillor S. Sharp, Councillor J. Wyness, Councillor J. Mian, Councillor S. Chu, Councillor R. Dhaliwal, Councillor R. Pootmans, Councillor T. Wong, Councillor C. Walcott, Councillor G. Carra, Councillor A. Chabot, Councillor K. Penner, Councillor E. Spencer, Councillor D. McLean, Councillor P. Demong, Mayor J. Gondek, Council The provided text does not contain an attendance section or a list of council members., Administration There is no attendance information in the provided text., Public Speaker This document section does not contain any names of public speakers., Council no names can be extracted. The provided text does not contain an attendance section or a list of council members. Therefore, Administration There is no attendance section in the provided text., Administration An administration or staff attendance section was not found in the provided text.
20:35:49
[INFO]
================================================================================
20:35:49
[INFO]
CHUNKING STRATEGY: Speaker list being used:
20:35:49
[INFO]
================================================================================
20:35:49
[INFO]
CHUNKING: Processing 3709 segments in chunks of 1500
20:35:49
[INFO]
================================================================================
20:35:49
[WARNING]
Creating debug folder: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.gemini_debug. These folders are not auto-cleaned. Clean up with: rm -rf *.gemini_debug/
20:35:49
[INFO]
Large meeting detected (3709 segments). Using chunking strategy.
20:35:48
[INFO]
Starting speaker refinement
20:35:48
[INFO]
Cleanup completed: 328 segments corrected
20:35:48
[INFO]
{"step": "cleanup", "status": "completed", "updated_at": "2026-06-17T14:35:48.256336-06:00", "applied_count": 328}
20:35:47
[INFO]
{"step": "cleanup", "status": "processing", "updated_at": "2026-06-17T14:35:47.869405-06:00"}
20:35:47
[INFO]
Starting name cleanup step
20:35:47
[INFO]
Diarization completed and attached: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.diarization.pyannote.json
20:35:47
[INFO]
Diarization completed successfully!
20:35:47
[INFO]
{"step": "diarization", "status": "completed", "updated_at": "2026-06-17T14:35:47.824371-06:00", "output_path": "/tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.diarization.pyannote.json"}
20:35:47
[INFO]
Extracted 3709 turn-based segments
20:35:47
[INFO]
Diarization results saved to /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.mkv.diarization.pyannote.json
20:35:47
[INFO]
Job completed! Retrieving results...
20:35:47
[INFO]
Job status: completed
20:35:47
[INFO]
Speaker diarization completed
20:35:47
[INFO]
Speaker diarization completed
20:35:47
[INFO]
Poll #1: Status: succeeded
20:35:34
[INFO]
Diarization job started (Job ID: ac805f7c-5fc8-45cc-8e42-d5acc26581a3). Processing audio...
20:35:34
[INFO]
Job ac805f7c-5fc8-45cc-8e42-d5acc26581a3 already completed. Using existing results.
20:35:31
[INFO]
Found existing pyannote job (ID: ac805f7c-5fc8-45cc-8e42-d5acc26581a3). Checking status...
20:35:31
[INFO]
Found existing pyannote job (ID: ac805f7c-5fc8-45cc-8e42-d5acc26581a3). Checking status...
20:35:31
[INFO]
Starting speaker diarization via pyannote.ai API
20:35:31
[INFO]
Starting speaker diarization via pyannote.ai API
20:35:27
[INFO]
Using S3 pre-signed URL for diarization
20:35:27
[INFO]
{"step": "diarization", "status": "processing", "updated_at": "2026-06-17T14:35:27.725774-06:00"}
20:35:27
[INFO]
Starting transcription + diarization
20:35:27
[INFO]
Audio extracted and attached: /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.wav
20:35:27
[INFO]
{"step": "extraction", "status": "completed", "updated_at": "2026-06-17T14:35:27.707378-06:00", "wav_path": "/tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.wav"}
20:35:11
[INFO]
Audio extracted to /tmp/tmpa3cil9xs/0ae5066e-ca92-48ef-94ba-d065ed7d9318.wav
20:31:16
[INFO]
Extracting audio to WAV format
20:31:16
[INFO]
Extracting audio to WAV format
20:31:16
[INFO]
{"step": "extraction", "status": "processing", "updated_at": "2026-06-17T14:31:16.263416-06:00"}
20:31:16
[INFO]
Starting audio extraction
20:30:20
[INFO]
Downloading video from S3 for processing
20:14:07
[INFO]
Job submitted successfully via webhook. Returning early.
20:14:07
[INFO]
Webhooks enabled: https://ccai-api.pixeltree.ca/api/webhooks/pyannote
20:14:07
[INFO]
Submitting diarization + transcription job to pyannote.ai (URL: https://ccai-prod.s3.amazonaws.com/c725a41a-552e-4c5e-91ed-3bc0337fe925.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQK6LNXA7XP5KSEWG%2F20260617%2Fca-central-1%2Fs3%2Faws4_request&X-Amz-Date=20260617T201407Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=582bdc96ab0db9ea86b4978c09b35a2883873c5374ad43e44330ab5fbc9bac11)
20:14:07
[INFO]
Starting speaker diarization via pyannote.ai API
20:14:07
[INFO]
Starting speaker diarization via pyannote.ai API
20:14:07
[INFO]
Using S3 pre-signed URL for diarization
20:14:07
[INFO]
{"step": "diarization", "status": "processing", "updated_at": "2026-06-17T14:14:07.127941-06:00"}
20:14:07
[INFO]
Starting transcription + diarization
20:14:07
[INFO]
Audio extracted and attached: /tmp/tmp6tggps9a/0ae5066e-ca92-48ef-94ba-d065ed7d9318.wav
20:14:07
[INFO]
{"step": "extraction", "status": "completed", "updated_at": "2026-06-17T14:14:07.115980-06:00", "wav_path": "/tmp/tmp6tggps9a/0ae5066e-ca92-48ef-94ba-d065ed7d9318.wav"}
20:13:49
[INFO]
Audio extracted to /tmp/tmp6tggps9a/0ae5066e-ca92-48ef-94ba-d065ed7d9318.wav
20:09:51
[INFO]
Extracting audio to WAV format
20:09:51
[INFO]
Extracting audio to WAV format
20:09:51
[INFO]
{"step": "extraction", "status": "processing", "updated_at": "2026-06-17T14:09:51.194413-06:00"}
20:09:51
[INFO]
Starting audio extraction
20:09:00
[INFO]
Downloading video from S3 for processing
19:57:41
[INFO]
Download completed successfully
19:48:57
[INFO]
Manual retry initiated by user
16:52:02
[ERROR]
Step full failed: Recording 832 has no file path
16:44:10
[ERROR]
Step full failed: Recording 832 has no file path