Recording · Day 1
Regular Meeting of Council
Technical details
Recording ID
825
Meeting ID
509
File path
38eff5cb-be93-46c1-8967-d7576ad725e3.mkv
Recording information
Status
Completed
Downloading…
0%
Duration
2h53m
Start time
2026-05-21 17:00
End time
2026-05-22 01:53
Extract audio
Extract WAV audio for transcription and diarization
Progress
Storage & files
| File type | Storage | Path / Key | Status | Action |
|---|---|---|---|---|
| Video | S3 | 38eff5cb-be93-46c1-8967-d7576ad725e3.mkv | Exists | |
| Transcript | S3 | 21f42801-aefb-4c9e-80b8-dbb283b6558d.json | Exists | |
| WAV | S3 | 21ba6a42-66fb-470e-8c40-30ef6fbd4c42.wav | Exists | |
| Diarization Pyannote | S3 | dbbcdff3-104b-4e65-8893-1de7d8724e21.json | Exists | |
| Diarization Gemini | S3 | 3eee334c-568e-4f57-8082-bf0b310d0816.json | Exists | |
| Diarization Consolidated | S3 | bd1306fa-1ee7-45f2-9fa7-913e040e83f1.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
112 entries
2 errors
21 warnings
19:52:33
[INFO]
Consolidation completed: 285 segments (reduced from 888)
19:52:33
[INFO]
{"step": "consolidation", "status": "completed", "updated_at": "2026-06-17T13:52:33.081885-06:00", "consolidated_path": "3eee334c-568e-4f57-8082-bf0b310d0816.diarization.consolidated.json", "stats": {"original_segment_count": 888, "consolidated_segment_count": 285, "reduction_percent": 67.91}}
19:52:32
[INFO]
{"step": "consolidation", "status": "processing", "updated_at": "2026-06-17T13:52:32.598512-06:00"}
19:52:32
[INFO]
Speaker refinement completed
19:52:32
[INFO]
{"step": "gemini", "status": "completed", "updated_at": "2026-06-17T13:52:32.571136-06:00", "output_path": "/tmp/tmp3z0o4ny3.json"}
19:52:32
[INFO]
================================================================================
19:52:32
[INFO]
CHUNKING COMPLETE: Successfully merged all 1 chunks in 70.7s
19:52:32
[INFO]
================================================================================
19:52:32
[INFO]
✓ Unique speaker mappings discovered: 10
19:52:32
[INFO]
✓ Speakers: 11 named, 18 generic
19:52:32
[INFO]
✓ Segment count: 888/888
19:52:32
[WARNING]
Large gap detected at segment 867: 10304.545s -> 10314.905s
19:52:32
[WARNING]
Large gap detected at segment 810: 9353.685s -> 9364.305s
19:52:32
[WARNING]
Large gap detected at segment 746: 8668.925s -> 8680.685s
19:52:32
[WARNING]
Large gap detected at segment 742: 8651.405s -> 8657.045s
19:52:32
[WARNING]
Large gap detected at segment 732: 8468.405s -> 8473.585s
19:52:32
[WARNING]
Large gap detected at segment 731: 8429.345s -> 8444.405s
19:52:32
[WARNING]
Large gap detected at segment 714: 8273.925s -> 8283.165s
19:52:32
[WARNING]
Large gap detected at segment 481: 6054.425s -> 6074.525s
19:52:32
[WARNING]
Large gap detected at segment 449: 5411.025s -> 5438.985s
19:52:32
[WARNING]
Large gap detected at segment 420: 4961.845s -> 4983.705s
19:52:32
[WARNING]
Large gap detected at segment 342: 3631.945s -> 3643.685s
19:52:32
[WARNING]
Large gap detected at segment 245: 2718.025s -> 2729.185s
19:52:32
[WARNING]
Large gap detected at segment 221: 2436.005s -> 2449.285s
19:52:32
[WARNING]
Large gap detected at segment 193: 2022.545s -> 2041.265s
19:52:32
[WARNING]
Large gap detected at segment 157: 1478.785s -> 1485.085s
19:52:32
[WARNING]
Large gap detected at segment 149: 1309.445s -> 1314.765s
19:52:32
[WARNING]
Large gap detected at segment 135: 1215.245s -> 1220.505s
19:52:32
[WARNING]
Large gap detected at segment 103: 907.005s -> 921.145s
19:52:32
[WARNING]
Large gap detected at segment 49: 669.745s -> 691.065s
19:52:32
[WARNING]
Large gap detected at segment 32: 596.365s -> 603.645s
19:52:32
[INFO]
VALIDATING MERGED RESULT
19:52:32
[INFO]
--------------------------------------------------------------------------------
19:52:32
[DEBUG]
Saved chunk 1 state to database
19:52:32
[INFO]
Chunk 1: ✓ Refined successfully. Total speaker mappings: 10
19:52:32
[INFO]
Chunk 1: Added 10 new speaker mappings. Total: 10
19:52:32
[INFO]
Chunk 1: Gemini returned 29 speakers (11 refined: Chief Financial Officer L. Tochor, City Clerk City Clerk, Councillor A. Chabot, Councillor D. McLean, Councillor D.J. Kelly, Councillor H. Clark, Councillor J. Pantazopoulos, Councillor L. Johnston, Councillor M. Atkinson, Councillor M. Jamieson, Mayor J. Farkas)
19:52:32
[INFO]
Chunk 1: Successfully refined 264 segments with sparse mapping
19:52:32
[INFO]
Saved parsed JSON: /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.gemini_debug/chunk_001_parsed.json
19:52:32
[INFO]
Saved chunk response: /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.gemini_debug/chunk_001_response.txt
19:52:32
[INFO]
Chunk 1: Gemini finish_reason: FinishReason.STOP
19:52:32
[INFO]
Chunk 1: Received Gemini API response in 70.3s
19:51:21
[INFO]
Chunk 1: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 187151 chars)...
19:51:21
[INFO]
Saved chunk input: /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.gemini_debug/chunk_001_input.json
19:51:21
[INFO]
Time range: 460.3s - 10358.2s
19:51:21
[INFO]
Processing chunk 1/1 (888 segments)
19:51:21
[INFO]
--------------------------------------------------------------------------------
19:51:21
[INFO]
Prior run found but no chunks completed. Starting from chunk 1/1
19:51:21
[INFO]
Chunk tracking initialized in database
19:51:21
[INFO]
Creating chunk tracking records for 1 chunks
19:51:21
[INFO]
Split into 1 chunks
19:51:21
[INFO]
================================================================================
19:51:21
[INFO]
City Clerk City Clerk, Councillor R. Ward, Councillor A. Yule, Councillor J. Pantazopoulos, Councillor M. Jamieson, Councillor H. Clark, Councillor R. Dhaliwal, Councillor M. Atkinson, Councillor K. Tyers, Councillor D.J. Kelly, Councillor A. Chabot, Councillor J. Wyness, Councillor L. Johnston, Councillor D. McLean, Mayor J. Farkas, Chief Administrative Officer D. Duckworth, City Solicitor and General Counsel J. Floen, Chief Financial Officer L. Tochor, A/General Manager J. Kapala, General Manager K. Black, A/General Manager J. Radke, A/General Manager N. Newton, A/General Manager W. Tynan, Leader, Legislative Services M. A. Cario, Leader, Council Services S. Lancashire, Legislative Specialist A. Gagliardi, Public Speaker There are no public speakers listed in the provided text. The text describes a procedural motion, not a list of speakers., Public Speaker There are no public speakers listed in this section.
19:51:21
[INFO]
================================================================================
19:51:21
[INFO]
CHUNKING STRATEGY: Speaker list being used:
19:51:21
[INFO]
================================================================================
19:51:21
[INFO]
CHUNKING: Processing 888 segments in chunks of 1500
19:51:21
[INFO]
================================================================================
19:51:21
[WARNING]
Creating debug folder: /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.gemini_debug. These folders are not auto-cleaned. Clean up with: rm -rf *.gemini_debug/
19:51:21
[INFO]
Large meeting detected (888 segments). Using chunking strategy.
19:51:21
[INFO]
Starting speaker refinement
19:51:18
[INFO]
Cleanup completed: 64 segments corrected
19:51:18
[INFO]
{"step": "cleanup", "status": "completed", "updated_at": "2026-06-17T13:51:18.865475-06:00", "applied_count": 64}
19:51:18
[INFO]
{"step": "cleanup", "status": "processing", "updated_at": "2026-06-17T13:51:18.423176-06:00"}
19:51:18
[INFO]
Starting name cleanup step
19:51:18
[INFO]
Diarization completed and attached: /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.diarization.pyannote.json
19:51:18
[INFO]
Diarization completed successfully!
19:51:18
[INFO]
{"step": "diarization", "status": "completed", "updated_at": "2026-06-17T13:51:18.370249-06:00", "output_path": "/tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.diarization.pyannote.json"}
19:51:18
[INFO]
Extracted 888 turn-based segments
19:51:18
[INFO]
Diarization results saved to /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.mkv.diarization.pyannote.json
19:51:18
[INFO]
Job completed! Retrieving results...
19:51:18
[INFO]
Job status: completed
19:51:18
[INFO]
Speaker diarization completed
19:51:18
[INFO]
Speaker diarization completed
19:51:18
[INFO]
Poll #1: Status: succeeded
19:51:06
[INFO]
Diarization job started (Job ID: 6817eb8a-b14b-4c5c-929f-06c8653e7b8c). Processing audio...
19:51:06
[INFO]
Job 6817eb8a-b14b-4c5c-929f-06c8653e7b8c already completed. Using existing results.
19:51:04
[INFO]
Found existing pyannote job (ID: 6817eb8a-b14b-4c5c-929f-06c8653e7b8c). Checking status...
19:51:04
[INFO]
Found existing pyannote job (ID: 6817eb8a-b14b-4c5c-929f-06c8653e7b8c). Checking status...
19:51:04
[INFO]
Starting speaker diarization via pyannote.ai API
19:51:04
[INFO]
Starting speaker diarization via pyannote.ai API
19:51:02
[INFO]
Using S3 pre-signed URL for diarization
19:51:02
[INFO]
{"step": "diarization", "status": "processing", "updated_at": "2026-06-17T13:51:02.548819-06:00"}
19:51:02
[INFO]
Starting transcription + diarization
19:51:02
[INFO]
Audio extracted and attached: /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.wav
19:51:02
[INFO]
{"step": "extraction", "status": "completed", "updated_at": "2026-06-17T13:51:02.531045-06:00", "wav_path": "/tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.wav"}
19:50:54
[INFO]
Audio extracted to /tmp/tmprccu5cwo/38eff5cb-be93-46c1-8967-d7576ad725e3.wav
19:49:16
[INFO]
Extracting audio to WAV format
19:49:16
[INFO]
Extracting audio to WAV format
19:49:16
[INFO]
{"step": "extraction", "status": "processing", "updated_at": "2026-06-17T13:49:16.674018-06:00"}
19:49:16
[INFO]
Starting audio extraction
19:48:58
[INFO]
Downloading video from S3 for processing
19:26:04
[INFO]
Job submitted successfully via webhook. Returning early.
19:26:04
[INFO]
Webhooks enabled: https://ccai-api.pixeltree.ca/api/webhooks/pyannote
19:26:04
[INFO]
Submitting diarization + transcription job to pyannote.ai (URL: https://ccai-prod.s3.amazonaws.com/1a91a6ed-5a2c-4c67-9779-18e1ab7a3789.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQK6LNXA7XP5KSEWG%2F20260617%2Fca-central-1%2Fs3%2Faws4_request&X-Amz-Date=20260617T192604Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=2b81dfd0f79ec3a4ae6f4c6d3b64f5ff5cd07f8dd1f378411231a1014db38207)
19:26:04
[INFO]
Starting speaker diarization via pyannote.ai API
19:26:04
[INFO]
Starting speaker diarization via pyannote.ai API
19:26:04
[INFO]
Using S3 pre-signed URL for diarization
19:26:03
[INFO]
{"step": "diarization", "status": "processing", "updated_at": "2026-06-17T13:26:03.779163-06:00"}
19:26:03
[INFO]
Starting transcription + diarization
19:26:03
[INFO]
Audio extracted and attached: /tmp/tmpuj7skwtp/38eff5cb-be93-46c1-8967-d7576ad725e3.wav
19:26:03
[INFO]
{"step": "extraction", "status": "completed", "updated_at": "2026-06-17T13:26:03.762724-06:00", "wav_path": "/tmp/tmpuj7skwtp/38eff5cb-be93-46c1-8967-d7576ad725e3.wav"}
19:25:59
[INFO]
Audio extracted to /tmp/tmpuj7skwtp/38eff5cb-be93-46c1-8967-d7576ad725e3.wav
19:25:18
[INFO]
Extracting audio to WAV format
19:25:18
[INFO]
Extracting audio to WAV format
19:25:18
[INFO]
{"step": "extraction", "status": "processing", "updated_at": "2026-06-17T13:25:18.272786-06:00"}
19:25:18
[INFO]
Starting audio extraction
19:25:09
[INFO]
Downloading video from S3 for processing
19:09:52
[INFO]
Download completed successfully
19:08:33
[INFO]
Manual retry initiated by user
16:51:49
[ERROR]
Step full failed: Recording 825 has no file path
16:41:13
[ERROR]
Step full failed: Recording 825 has no file path