[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.