Recording · Day 3
Council meeting - Public hearing
Technical details
Recording ID
834
Meeting ID
11
File path
b1d2e885-2744-42df-b56f-d167f3155aec.mkv
Recording information
Status
Completed
Downloading…
0%
Duration
8h45m
Start time
2026-04-02 13:30
End time
2026-04-03 04:14
Extract audio
Extract WAV audio for transcription and diarization
Progress
Storage & files
| File type | Storage | Path / Key | Status | Action |
|---|---|---|---|---|
| Video | S3 | b1d2e885-2744-42df-b56f-d167f3155aec.mkv | Exists | |
| Transcript | S3 | 463a1d18-84d2-403e-9cdc-095f0682601d.json | Exists | |
| WAV | S3 | 8b02f6c3-15ae-40d2-8594-39a677e9a4bd.wav | Exists | |
| Diarization Pyannote | S3 | 0f171c85-8dc3-4408-ad8b-c3228c77cc03.json | Exists | |
| Diarization Gemini | S3 | cb9b1044-f346-452c-8ba4-bf385fd50560.json | Exists | |
| Diarization Consolidated | S3 | a056b8c1-7c66-4d00-95b0-f6a6716e44ff.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
144 entries
2 errors
39 warnings
20:53:43
[INFO]
Consolidation completed: 769 segments (reduced from 2845)
20:53:43
[INFO]
{"step": "consolidation", "status": "completed", "updated_at": "2026-06-17T14:53:43.917162-06:00", "consolidated_path": "cb9b1044-f346-452c-8ba4-bf385fd50560.diarization.consolidated.json", "stats": {"original_segment_count": 2845, "consolidated_segment_count": 769, "reduction_percent": 72.97}}
20:53:43
[INFO]
{"step": "consolidation", "status": "processing", "updated_at": "2026-06-17T14:53:43.475824-06:00"}
20:53:43
[INFO]
Speaker refinement completed
20:53:43
[INFO]
{"step": "gemini", "status": "completed", "updated_at": "2026-06-17T14:53:43.464335-06:00", "output_path": "/tmp/tmpub3_ya80.json"}
20:53:43
[INFO]
================================================================================
20:53:43
[INFO]
CHUNKING COMPLETE: Successfully merged all 2 chunks in 155.8s
20:53:43
[INFO]
================================================================================
20:53:43
[INFO]
✓ Unique speaker mappings discovered: 61
20:53:43
[INFO]
✓ Speakers: 13 named, 58 generic
20:53:43
[INFO]
✓ Segment count: 2845/2845
20:53:43
[WARNING]
Large gap detected at segment 2788: 30976.725s -> 30982.845s
20:53:43
[WARNING]
Large gap detected at segment 2720: 30606.905s -> 30613.145s
20:53:43
[WARNING]
Large gap detected at segment 2717: 30585.065s -> 30590.525s
20:53:43
[WARNING]
Large gap detected at segment 2512: 28195.305s -> 28201.645s
20:53:43
[WARNING]
Large gap detected at segment 2481: 28079.545s -> 28084.685s
20:53:43
[WARNING]
Large gap detected at segment 2373: 27115.885s -> 27122.045s
20:53:43
[WARNING]
Large gap detected at segment 2265: 26329.565s -> 26334.605s
20:53:43
[WARNING]
Large gap detected at segment 2262: 26308.485s -> 26313.845s
20:53:43
[WARNING]
Large gap detected at segment 2086: 24966.965s -> 24973.745s
20:53:43
[WARNING]
Large gap detected at segment 1978: 23815.945s -> 23850.685s
20:53:43
[WARNING]
Large gap detected at segment 1968: 23752.305s -> 23775.345s
20:53:43
[WARNING]
Large gap detected at segment 1961: 23706.245s -> 23715.245s
20:53:43
[WARNING]
Large gap detected at segment 1921: 21645.445s -> 23592.105s
20:53:43
[WARNING]
Large gap detected at segment 1662: 18964.605s -> 18972.285s
20:53:43
[WARNING]
Large gap detected at segment 1644: 18689.005s -> 18697.425s
20:53:43
[WARNING]
Large gap detected at segment 1606: 18042.265s -> 18051.665s
20:53:43
[WARNING]
Overlap detected at segment 1603: 18035.005s -> 18034.005s
20:53:43
[WARNING]
Large gap detected at segment 1546: 17430.305s -> 17438.945s
20:53:43
[WARNING]
Large gap detected at segment 1429: 16132.905s -> 16138.585s
20:53:43
[WARNING]
Large gap detected at segment 1373: 15178.545s -> 15185.505s
20:53:43
[WARNING]
Large gap detected at segment 1363: 14872.405s -> 14878.825s
20:53:43
[WARNING]
Large gap detected at segment 1332: 11077.785s -> 14810.405s
20:53:43
[WARNING]
Large gap detected at segment 1027: 9473.905s -> 9481.825s
20:53:43
[WARNING]
Large gap detected at segment 991: 8882.005s -> 8891.005s
20:53:43
[WARNING]
Large gap detected at segment 951: 8541.105s -> 8550.105s
20:53:43
[WARNING]
Large gap detected at segment 919: 8408.605s -> 8418.345s
20:53:43
[WARNING]
Large gap detected at segment 722: 7080.105s -> 7094.265s
20:53:43
[WARNING]
Large gap detected at segment 718: 7055.885s -> 7062.165s
20:53:43
[WARNING]
Large gap detected at segment 538: 5288.985s -> 5294.405s
20:53:43
[WARNING]
Large gap detected at segment 521: 4990.985s -> 4996.525s
20:53:43
[WARNING]
Large gap detected at segment 386: 4052.965s -> 4058.385s
20:53:43
[WARNING]
Large gap detected at segment 270: 2931.865s -> 2940.785s
20:53:43
[WARNING]
Large gap detected at segment 226: 2511.925s -> 2518.985s
20:53:43
[WARNING]
Large gap detected at segment 154: 1909.265s -> 1921.225s
20:53:43
[WARNING]
Large gap detected at segment 150: 1872.545s -> 1878.305s
20:53:43
[WARNING]
Large gap detected at segment 121: 1618.025s -> 1623.845s
20:53:43
[WARNING]
Large gap detected at segment 115: 1604.145s -> 1609.865s
20:53:43
[WARNING]
Large gap detected at segment 99: 1550.165s -> 1564.005s
20:53:43
[INFO]
VALIDATING MERGED RESULT
20:53:43
[INFO]
--------------------------------------------------------------------------------
20:53:43
[DEBUG]
Saved chunk 2 state to database
20:53:42
[INFO]
Chunk 2: ✓ Refined successfully. Total speaker mappings: 61
20:53:42
[INFO]
Chunk 2: Added 39 new speaker mappings. Total: 61
20:53:42
[INFO]
Chunk 2: Gemini returned 45 speakers (3 refined: Councillor A. Chabot, Councillor J. Wyness, Public Speaker)
20:53:42
[INFO]
Chunk 2: Successfully refined 54 segments with sparse mapping
20:53:42
[INFO]
Saved parsed JSON: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug/chunk_002_parsed.json
20:53:42
[INFO]
Saved chunk response: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug/chunk_002_response.txt
20:53:42
[INFO]
Chunk 2: Gemini finish_reason: FinishReason.STOP
20:53:42
[INFO]
Chunk 2: Received Gemini API response in 79.5s
20:52:23
[INFO]
Chunk 2: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 242766 chars)...
20:52:23
[INFO]
Saved chunk input: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug/chunk_002_input.json
20:52:23
[INFO]
Time range: 17233.7s - 31341.7s
20:52:23
[INFO]
Processing chunk 2/2 (1327 segments)
20:52:23
[INFO]
--------------------------------------------------------------------------------
20:52:23
[DEBUG]
Saved chunk 1 state to database
20:52:23
[INFO]
Chunk 1: ✓ Refined successfully. Total speaker mappings: 37
20:52:23
[INFO]
Chunk 1: Added 37 new speaker mappings. Total: 37
20:52:23
[INFO]
Chunk 1: Gemini returned 42 speakers (13 refined: City Clerk, Councillor A. Chabot, Councillor D. McLean, Councillor E. Spencer, Councillor J. Mian, Councillor J. Wyness, Councillor R. Dhaliwal, Councillor R. Pootmans, Councillor S. Chu, Councillor S. Sharp, Councillor T. Wong, Mayor J. Gondek, Public Speaker)
20:52:23
[INFO]
Chunk 1: Successfully refined 517 segments with sparse mapping
20:52:23
[INFO]
Saved parsed JSON: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug/chunk_001_parsed.json
20:52:23
[INFO]
Saved chunk response: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug/chunk_001_response.txt
20:52:23
[INFO]
Chunk 1: Gemini finish_reason: FinishReason.STOP
20:52:23
[INFO]
Chunk 1: Received Gemini API response in 75.7s
20:51:07
[INFO]
Chunk 1: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 238978 chars)...
20:51:07
[INFO]
Saved chunk input: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug/chunk_001_input.json
20:51:07
[INFO]
Time range: 1181.4s - 17232.2s
20:51:07
[INFO]
Processing chunk 1/2 (1518 segments)
20:51:07
[INFO]
--------------------------------------------------------------------------------
20:51:07
[INFO]
Prior run found but no chunks completed. Starting from chunk 1/2
20:51:07
[INFO]
Chunk tracking initialized in database
20:51:07
[INFO]
Creating chunk tracking records for 2 chunks
20:51:07
[INFO]
Split into 2 chunks
20:51:07
[INFO]
================================================================================
20:51:07
[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:51:07
[INFO]
================================================================================
20:51:07
[INFO]
CHUNKING STRATEGY: Speaker list being used:
20:51:07
[INFO]
================================================================================
20:51:07
[INFO]
CHUNKING: Processing 2845 segments in chunks of 1500
20:51:07
[INFO]
================================================================================
20:51:07
[WARNING]
Creating debug folder: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.gemini_debug. These folders are not auto-cleaned. Clean up with: rm -rf *.gemini_debug/
20:51:07
[INFO]
Large meeting detected (2845 segments). Using chunking strategy.
20:51:07
[INFO]
Starting speaker refinement
20:51:06
[INFO]
Cleanup completed: 89 segments corrected
20:51:06
[INFO]
{"step": "cleanup", "status": "completed", "updated_at": "2026-06-17T14:51:06.151174-06:00", "applied_count": 89}
20:51:05
[INFO]
{"step": "cleanup", "status": "processing", "updated_at": "2026-06-17T14:51:05.779838-06:00"}
20:51:05
[INFO]
Starting name cleanup step
20:51:05
[INFO]
Diarization completed and attached: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.diarization.pyannote.json
20:51:05
[INFO]
Diarization completed successfully!
20:51:05
[INFO]
{"step": "diarization", "status": "completed", "updated_at": "2026-06-17T14:51:05.733863-06:00", "output_path": "/tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.diarization.pyannote.json"}
20:51:05
[INFO]
Extracted 2845 turn-based segments
20:51:05
[INFO]
Diarization results saved to /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.mkv.diarization.pyannote.json
20:51:05
[INFO]
Job completed! Retrieving results...
20:51:05
[INFO]
Job status: completed
20:51:05
[INFO]
Speaker diarization completed
20:51:05
[INFO]
Speaker diarization completed
20:51:05
[INFO]
Poll #1: Status: succeeded
20:50:52
[INFO]
Diarization job started (Job ID: 3dabb3bd-0dea-4b87-a0ab-9d5e32407e6a). Processing audio...
20:50:52
[INFO]
Job 3dabb3bd-0dea-4b87-a0ab-9d5e32407e6a already completed. Using existing results.
20:50:49
[INFO]
Found existing pyannote job (ID: 3dabb3bd-0dea-4b87-a0ab-9d5e32407e6a). Checking status...
20:50:49
[INFO]
Found existing pyannote job (ID: 3dabb3bd-0dea-4b87-a0ab-9d5e32407e6a). Checking status...
20:50:49
[INFO]
Starting speaker diarization via pyannote.ai API
20:50:49
[INFO]
Starting speaker diarization via pyannote.ai API
20:50:46
[INFO]
Using S3 pre-signed URL for diarization
20:50:46
[INFO]
{"step": "diarization", "status": "processing", "updated_at": "2026-06-17T14:50:46.098907-06:00"}
20:50:46
[INFO]
Starting transcription + diarization
20:50:46
[INFO]
Audio extracted and attached: /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.wav
20:50:46
[INFO]
{"step": "extraction", "status": "completed", "updated_at": "2026-06-17T14:50:46.088028-06:00", "wav_path": "/tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.wav"}
20:50:31
[INFO]
Audio extracted to /tmp/tmp0i_wwgx4/b1d2e885-2744-42df-b56f-d167f3155aec.wav
20:47:24
[INFO]
Extracting audio to WAV format
20:47:24
[INFO]
Extracting audio to WAV format
20:47:24
[INFO]
{"step": "extraction", "status": "processing", "updated_at": "2026-06-17T14:47:24.663807-06:00"}
20:47:24
[INFO]
Starting audio extraction
20:46:45
[INFO]
Downloading video from S3 for processing
20:30:06
[INFO]
Job submitted successfully via webhook. Returning early.
20:30:06
[INFO]
Webhooks enabled: https://ccai-api.pixeltree.ca/api/webhooks/pyannote
20:30:06
[INFO]
Submitting diarization + transcription job to pyannote.ai (URL: https://ccai-prod.s3.amazonaws.com/f46cae3b-ae7f-47ff-aab2-7b806fbf567b.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQK6LNXA7XP5KSEWG%2F20260617%2Fca-central-1%2Fs3%2Faws4_request&X-Amz-Date=20260617T203006Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=1fa62c147d43478cfd15c2e439b0631db215b967abb9fbecc9cb15a81db5e075)
20:30:06
[INFO]
Starting speaker diarization via pyannote.ai API
20:30:06
[INFO]
Starting speaker diarization via pyannote.ai API
20:30:06
[INFO]
Using S3 pre-signed URL for diarization
20:30:05
[INFO]
{"step": "diarization", "status": "processing", "updated_at": "2026-06-17T14:30:05.998396-06:00"}
20:30:05
[INFO]
Starting transcription + diarization
20:30:05
[INFO]
Audio extracted and attached: /tmp/tmp39raac4r/b1d2e885-2744-42df-b56f-d167f3155aec.wav
20:30:05
[INFO]
{"step": "extraction", "status": "completed", "updated_at": "2026-06-17T14:30:05.987705-06:00", "wav_path": "/tmp/tmp39raac4r/b1d2e885-2744-42df-b56f-d167f3155aec.wav"}
20:29:52
[INFO]
Audio extracted to /tmp/tmp39raac4r/b1d2e885-2744-42df-b56f-d167f3155aec.wav
20:26:54
[INFO]
Extracting audio to WAV format
20:26:54
[INFO]
Extracting audio to WAV format
20:26:53
[INFO]
{"step": "extraction", "status": "processing", "updated_at": "2026-06-17T14:26:53.985256-06:00"}
20:26:53
[INFO]
Starting audio extraction
20:26:12
[INFO]
Downloading video from S3 for processing
20:18:46
[INFO]
Download completed successfully
20:15:09
[INFO]
Manual retry initiated by user
16:52:06
[ERROR]
Step full failed: Recording 834 has no file path
16:44:17
[ERROR]
Step full failed: Recording 834 has no file path