[2026-07-20 10:05:27] ==================================================
[2026-07-20 10:05:27] ==================================================
[2026-07-20 10:05:27] Meeting file watcher starting...
[2026-07-20 10:05:27] Meeting file watcher starting...
[2026-07-20 10:05:27] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:05:27] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:05:27] ==================================================
[2026-07-20 10:05:27] ==================================================
[2026-07-20 10:05:27] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:05:27] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:05:34] 📹 New video detected: test_recording.mkv
[2026-07-20 10:05:34] 📹 New video detected: test_recording.mkv
[2026-07-20 10:05:34] Waiting for test_recording.mkv to finish...
[2026-07-20 10:05:34] Waiting for test_recording.mkv to finish...
[2026-07-20 10:05:44] File idle for 5s...
[2026-07-20 10:05:44] File idle for 5s...
[2026-07-20 10:05:49] File idle for 10s...
[2026-07-20 10:05:49] File idle for 10s...
[2026-07-20 10:05:54] File idle for 15s...
[2026-07-20 10:05:54] File idle for 15s...
[2026-07-20 10:05:59] File idle for 20s...
[2026-07-20 10:05:59] File idle for 20s...
[2026-07-20 10:06:04] File idle for 25s...
[2026-07-20 10:06:04] File idle for 25s...
[2026-07-20 10:06:09] File idle for 30s...
[2026-07-20 10:06:09] File idle for 30s...
[2026-07-20 10:06:14] File idle for 35s...
[2026-07-20 10:06:14] File idle for 35s...
[2026-07-20 10:06:19] File idle for 40s...
[2026-07-20 10:06:19] File idle for 40s...
[2026-07-20 10:06:24] File idle for 45s...
[2026-07-20 10:06:24] File idle for 45s...
[2026-07-20 10:06:29] File idle for 50s...
[2026-07-20 10:06:29] File idle for 50s...
[2026-07-20 10:06:34] File idle for 55s...
[2026-07-20 10:06:34] File idle for 55s...
[2026-07-20 10:06:39] File idle for 60s...
[2026-07-20 10:06:39] File idle for 60s...
[2026-07-20 10:06:44] File idle for 65s...
[2026-07-20 10:06:44] File idle for 65s...
[2026-07-20 10:06:49] File idle for 70s...
[2026-07-20 10:06:49] File idle for 70s...
[2026-07-20 10:06:54] File idle for 75s...
[2026-07-20 10:06:54] File idle for 75s...
[2026-07-20 10:06:59] File idle for 80s...
[2026-07-20 10:06:59] File idle for 80s...
[2026-07-20 10:07:04] File idle for 85s...
[2026-07-20 10:07:04] File idle for 85s...
[2026-07-20 10:07:09] File idle for 90s...
[2026-07-20 10:07:09] File idle for 90s...
[2026-07-20 10:07:14] File idle for 95s...
[2026-07-20 10:07:14] File idle for 95s...
[2026-07-20 10:07:19] File idle for 100s...
[2026-07-20 10:07:19] File idle for 100s...
[2026-07-20 10:07:24] File idle for 105s...
[2026-07-20 10:07:24] File idle for 105s...
[2026-07-20 10:07:29] File idle for 110s...
[2026-07-20 10:07:29] File idle for 110s...
[2026-07-20 10:07:34] File idle for 115s...
[2026-07-20 10:07:34] File idle for 115s...
[2026-07-20 10:07:39] File idle for 120s...
[2026-07-20 10:07:39] File idle for 120s...
[2026-07-20 10:07:39] ✓ File ready (0MB)
[2026-07-20 10:07:39] ✓ File ready (0MB)
[2026-07-20 10:07:39] Moving to processing...
[2026-07-20 10:07:39] Moving to processing...
[2026-07-20 10:07:39] Moved to: 20260720_100739_test_recording.mkv
[2026-07-20 10:07:39] Moved to: 20260720_100739_test_recording.mkv
[2026-07-20 10:07:39] Starting processing pipeline...
[2026-07-20 10:07:39] Starting processing pipeline...
==================================================
Processing: 20260720_100739_test_recording.mkv
==================================================
1. Getting video duration...
Duration: 2s (0.0 minutes)
2. Extracting audio...
✓ Audio extracted: /home/vincent/meetings/processed/20260720_100739/audio.wav
3. Transcribing audio (Whisper large-v3, GPU)...
Loading Whisper model (large-v3)...
Transcribing...
[2026-07-20 10:07:40] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:07:40] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:07:40] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 280, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 151, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:07:40] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 280, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 151, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:09:06] 📹 New video detected: test2.mkv
[2026-07-20 10:09:06] 📹 New video detected: test2.mkv
[2026-07-20 10:09:06] Waiting for test2.mkv to finish...
[2026-07-20 10:09:06] Waiting for test2.mkv to finish...
[2026-07-20 10:09:16] File idle for 5s...
[2026-07-20 10:09:16] File idle for 5s...
[2026-07-20 10:09:21] File idle for 10s...
[2026-07-20 10:09:21] File idle for 10s...
[2026-07-20 10:09:26] File idle for 15s...
[2026-07-20 10:09:26] File idle for 15s...
[2026-07-20 10:09:31] File idle for 20s...
[2026-07-20 10:09:31] File idle for 20s...
[2026-07-20 10:09:36] File idle for 25s...
[2026-07-20 10:09:36] File idle for 25s...
[2026-07-20 10:09:41] File idle for 30s...
[2026-07-20 10:09:41] File idle for 30s...
[2026-07-20 10:09:46] File idle for 35s...
[2026-07-20 10:09:46] File idle for 35s...
[2026-07-20 10:09:51] File idle for 40s...
[2026-07-20 10:09:51] File idle for 40s...
[2026-07-20 10:09:56] File idle for 45s...
[2026-07-20 10:09:56] File idle for 45s...
[2026-07-20 10:10:01] File idle for 50s...
[2026-07-20 10:10:01] File idle for 50s...
[2026-07-20 10:10:06] File idle for 55s...
[2026-07-20 10:10:06] File idle for 55s...
[2026-07-20 10:10:11] File idle for 60s...
[2026-07-20 10:10:11] File idle for 60s...
[2026-07-20 10:10:16] File idle for 65s...
[2026-07-20 10:10:16] File idle for 65s...
[2026-07-20 10:10:21] File idle for 70s...
[2026-07-20 10:10:21] File idle for 70s...
[2026-07-20 10:10:26] File idle for 75s...
[2026-07-20 10:10:26] File idle for 75s...
[2026-07-20 10:10:31] File idle for 80s...
[2026-07-20 10:10:31] File idle for 80s...
[2026-07-20 10:10:36] File idle for 85s...
[2026-07-20 10:10:36] File idle for 85s...
[2026-07-20 10:10:41] File idle for 90s...
[2026-07-20 10:10:41] File idle for 90s...
[2026-07-20 10:10:46] File idle for 95s...
[2026-07-20 10:10:46] File idle for 95s...
[2026-07-20 10:10:51] File idle for 100s...
[2026-07-20 10:10:51] File idle for 100s...
[2026-07-20 10:10:56] File idle for 105s...
[2026-07-20 10:10:56] File idle for 105s...
[2026-07-20 10:11:01] File idle for 110s...
[2026-07-20 10:11:01] File idle for 110s...
[2026-07-20 10:11:06] File idle for 115s...
[2026-07-20 10:11:06] File idle for 115s...
[2026-07-20 10:11:11] File idle for 120s...
[2026-07-20 10:11:11] File idle for 120s...
[2026-07-20 10:11:11] ✓ File ready (0MB)
[2026-07-20 10:11:11] ✓ File ready (0MB)
[2026-07-20 10:11:11] Moving to processing...
[2026-07-20 10:11:11] Moving to processing...
[2026-07-20 10:11:11] Moved to: 20260720_101111_test2.mkv
[2026-07-20 10:11:11] Moved to: 20260720_101111_test2.mkv
[2026-07-20 10:11:11] Starting processing pipeline...
[2026-07-20 10:11:11] Starting processing pipeline...
==================================================
Processing: 20260720_101111_test2.mkv
==================================================
1. Getting video duration...
Duration: 2s (0.0 minutes)
2. Extracting audio...
✓ Audio extracted: /home/vincent/meetings/processed/20260720_101111/audio.wav
3. Transcribing audio (Whisper large-v3, GPU)...
Loading Whisper model (large-v3)...
Transcribing...
[2026-07-20 10:11:12] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:11:12] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:11:12] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 280, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 151, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:11:12] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 280, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 151, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:12:27] ==================================================
[2026-07-20 10:12:27] ==================================================
[2026-07-20 10:12:27] Meeting file watcher starting...
[2026-07-20 10:12:27] Meeting file watcher starting...
[2026-07-20 10:12:27] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:12:27] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:12:27] ==================================================
[2026-07-20 10:12:27] ==================================================
[2026-07-20 10:12:27] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:12:27] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:12:33] 📹 New video detected: test3.mkv
[2026-07-20 10:12:33] 📹 New video detected: test3.mkv
[2026-07-20 10:12:33] Waiting for test3.mkv to finish...
[2026-07-20 10:12:33] Waiting for test3.mkv to finish...
[2026-07-20 10:12:43] File idle for 5s...
[2026-07-20 10:12:43] File idle for 5s...
[2026-07-20 10:12:48] File idle for 10s...
[2026-07-20 10:12:48] File idle for 10s...
[2026-07-20 10:12:53] File idle for 15s...
[2026-07-20 10:12:53] File idle for 15s...
[2026-07-20 10:12:58] File idle for 20s...
[2026-07-20 10:12:58] File idle for 20s...
[2026-07-20 10:13:03] File idle for 25s...
[2026-07-20 10:13:03] File idle for 25s...
[2026-07-20 10:13:08] File idle for 30s...
[2026-07-20 10:13:08] File idle for 30s...
[2026-07-20 10:13:13] File idle for 35s...
[2026-07-20 10:13:13] File idle for 35s...
[2026-07-20 10:13:18] File idle for 40s...
[2026-07-20 10:13:18] File idle for 40s...
[2026-07-20 10:13:23] File idle for 45s...
[2026-07-20 10:13:23] File idle for 45s...
[2026-07-20 10:13:28] File idle for 50s...
[2026-07-20 10:13:28] File idle for 50s...
[2026-07-20 10:13:33] File idle for 55s...
[2026-07-20 10:13:33] File idle for 55s...
[2026-07-20 10:13:38] File idle for 60s...
[2026-07-20 10:13:38] File idle for 60s...
[2026-07-20 10:13:43] File idle for 65s...
[2026-07-20 10:13:43] File idle for 65s...
[2026-07-20 10:13:48] File idle for 70s...
[2026-07-20 10:13:48] File idle for 70s...
[2026-07-20 10:13:53] File idle for 75s...
[2026-07-20 10:13:53] File idle for 75s...
[2026-07-20 10:13:58] File idle for 80s...
[2026-07-20 10:13:58] File idle for 80s...
[2026-07-20 10:14:03] File idle for 85s...
[2026-07-20 10:14:03] File idle for 85s...
[2026-07-20 10:14:08] File idle for 90s...
[2026-07-20 10:14:08] File idle for 90s...
[2026-07-20 10:14:13] File idle for 95s...
[2026-07-20 10:14:13] File idle for 95s...
[2026-07-20 10:14:18] File idle for 100s...
[2026-07-20 10:14:18] File idle for 100s...
[2026-07-20 10:14:23] File idle for 105s...
[2026-07-20 10:14:23] File idle for 105s...
[2026-07-20 10:14:28] File idle for 110s...
[2026-07-20 10:14:28] File idle for 110s...
[2026-07-20 10:14:33] File idle for 115s...
[2026-07-20 10:14:33] File idle for 115s...
[2026-07-20 10:14:38] File idle for 120s...
[2026-07-20 10:14:38] File idle for 120s...
[2026-07-20 10:14:38] ✓ File ready (0MB)
[2026-07-20 10:14:38] ✓ File ready (0MB)
[2026-07-20 10:14:38] Moving to processing...
[2026-07-20 10:14:38] Moving to processing...
[2026-07-20 10:14:38] Moved to: 20260720_101438_test3.mkv
[2026-07-20 10:14:38] Moved to: 20260720_101438_test3.mkv
[2026-07-20 10:14:38] Starting processing pipeline...
[2026-07-20 10:14:38] Starting processing pipeline...
==================================================
Processing: 20260720_101438_test3.mkv
==================================================
1. Getting video duration...
Duration: 3s (0.1 minutes)
2. Extracting audio...
✓ Audio extracted: /home/vincent/meetings/processed/20260720_101438/audio.wav
3. Transcribing audio (Whisper large-v3, GPU)...
Loading Whisper model (large-v3)...
Transcribing...
[2026-07-20 10:14:39] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:14:39] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:14:39] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 280, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 151, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:14:39] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 280, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 151, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:15:47] ==================================================
[2026-07-20 10:15:47] ==================================================
[2026-07-20 10:15:47] Meeting file watcher starting...
[2026-07-20 10:15:47] Meeting file watcher starting...
[2026-07-20 10:15:47] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:15:47] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:15:47] ==================================================
[2026-07-20 10:15:47] ==================================================
[2026-07-20 10:15:47] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:15:47] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:16:01] 📹 New video detected: test4.mkv
[2026-07-20 10:16:01] 📹 New video detected: test4.mkv
[2026-07-20 10:16:01] Waiting for test4.mkv to finish...
[2026-07-20 10:16:01] Waiting for test4.mkv to finish...
[2026-07-20 10:16:11] File idle for 5s...
[2026-07-20 10:16:11] File idle for 5s...
[2026-07-20 10:16:16] File idle for 10s...
[2026-07-20 10:16:16] File idle for 10s...
[2026-07-20 10:16:21] File idle for 15s...
[2026-07-20 10:16:21] File idle for 15s...
[2026-07-20 10:16:26] File idle for 20s...
[2026-07-20 10:16:26] File idle for 20s...
[2026-07-20 10:16:31] File idle for 25s...
[2026-07-20 10:16:31] File idle for 25s...
[2026-07-20 10:16:36] File idle for 30s...
[2026-07-20 10:16:36] File idle for 30s...
[2026-07-20 10:16:41] File idle for 35s...
[2026-07-20 10:16:41] File idle for 35s...
[2026-07-20 10:16:46] File idle for 40s...
[2026-07-20 10:16:46] File idle for 40s...
[2026-07-20 10:16:51] File idle for 45s...
[2026-07-20 10:16:51] File idle for 45s...
[2026-07-20 10:16:56] File idle for 50s...
[2026-07-20 10:16:56] File idle for 50s...
[2026-07-20 10:17:01] File idle for 55s...
[2026-07-20 10:17:01] File idle for 55s...
[2026-07-20 10:17:06] File idle for 60s...
[2026-07-20 10:17:06] File idle for 60s...
[2026-07-20 10:17:11] File idle for 65s...
[2026-07-20 10:17:11] File idle for 65s...
[2026-07-20 10:17:16] File idle for 70s...
[2026-07-20 10:17:16] File idle for 70s...
[2026-07-20 10:17:21] File idle for 75s...
[2026-07-20 10:17:21] File idle for 75s...
[2026-07-20 10:17:26] File idle for 80s...
[2026-07-20 10:17:26] File idle for 80s...
[2026-07-20 10:17:31] File idle for 85s...
[2026-07-20 10:17:31] File idle for 85s...
[2026-07-20 10:17:36] File idle for 90s...
[2026-07-20 10:17:36] File idle for 90s...
[2026-07-20 10:17:41] File idle for 95s...
[2026-07-20 10:17:41] File idle for 95s...
[2026-07-20 10:17:46] File idle for 100s...
[2026-07-20 10:17:46] File idle for 100s...
[2026-07-20 10:17:51] File idle for 105s...
[2026-07-20 10:17:51] File idle for 105s...
[2026-07-20 10:17:56] File idle for 110s...
[2026-07-20 10:17:56] File idle for 110s...
[2026-07-20 10:18:01] File idle for 115s...
[2026-07-20 10:18:01] File idle for 115s...
[2026-07-20 10:18:06] File idle for 120s...
[2026-07-20 10:18:06] File idle for 120s...
[2026-07-20 10:18:06] ✓ File ready (0MB)
[2026-07-20 10:18:06] ✓ File ready (0MB)
[2026-07-20 10:18:06] Moving to processing...
[2026-07-20 10:18:06] Moving to processing...
[2026-07-20 10:18:06] Moved to: 20260720_101806_test4.mkv
[2026-07-20 10:18:06] Moved to: 20260720_101806_test4.mkv
[2026-07-20 10:18:06] Starting processing pipeline...
[2026-07-20 10:18:06] Starting processing pipeline...
==================================================
Processing: 20260720_101806_test4.mkv
==================================================
1. Getting video duration...
Duration: 3s (0.1 minutes)
2. Extracting audio...
✓ Audio extracted: /home/vincent/meetings/processed/20260720_101806/audio.wav
3. Transcribing audio (Whisper large-v3, GPU)...
Loading Whisper model (large-v3)...
Transcribing...
[2026-07-20 10:18:07] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:18:07] ❌ Processing failed: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:18:07] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 287, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 158, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:18:07] Traceback (most recent call last):
File "/home/vincent/meetings/watcher.py", line 116, in on_created
process_file(processed_path)
File "/home/vincent/meetings/watcher.py", line 89, in process_file
process_meeting(str(video_path))
File "/home/vincent/meetings/process_meeting.py", line 287, in process_meeting
transcript = transcribe_audio(wav_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/meetings/process_meeting.py", line 158, in transcribe_audio
segments, info = model.transcribe(
^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 942, in transcribe
) = self.detect_language(
^^^^^^^^^^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1819, in detect_language
encoder_output = self.encode(
^^^^^^^^^^^^
File "/home/vincent/.venvs/meeting-notes/lib/python3.11/site-packages/faster_whisper/transcribe.py", line 1400, in encode
return self.model.encode(features, to_cpu=to_cpu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Library libcublas.so.12 is not found or cannot be loaded
[2026-07-20 10:24:13] ==================================================
[2026-07-20 10:24:13] ==================================================
[2026-07-20 10:24:13] Meeting file watcher starting...
[2026-07-20 10:24:13] Meeting file watcher starting...
[2026-07-20 10:24:13] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:24:13] Watching: /home/vincent/meetings/incoming
[2026-07-20 10:24:13] ==================================================
[2026-07-20 10:24:13] ==================================================
[2026-07-20 10:24:13] Watcher running. Press Ctrl+C to stop.
[2026-07-20 10:24:13] Watcher running. Press Ctrl+C to stop.