Bug 505401

Summary: Speech to text - Whisper can no longer process after 24.12.3 to 25.04.1 update, Mac OS Sequoia 15.5 FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'
Product: [Applications] kdenlive Reporter: hgevan
Component: User Interface & MiscellaneousAssignee: Jean-Baptiste Mardelle <jb>
Status: REPORTED ---    
Severity: normal    
Priority: NOR    
Version First Reported In: 25.04.1   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description hgevan 2025-06-10 00:35:24 UTC
SUMMARY

After working flawlessly and reliably before update, trying to generate text from video audio results in consistent error that appears related to inability to find or communicate with secondary applications. I have removed the plug-in and reinstalled, as well as reinstalled kdenlive and problem persists. Whisper is configured using kdenlive, not independently.

STEPS TO REPRODUCE
1. Load a video clip into the project.
2. Attempt to generate subtitles.
3. Exports text, then when attempting to process the audio, it generates an error and fails.

OBSERVED RESULT

Produces the following failure log (copied in full):

/Applications/kdenlive.app/Contents/Resources/scripts/whisper/whispertotext.py:59: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
  checkpoint = torch.load(fp, map_location=device)
READY TO OURPUT: srt , /private/var/folders/0j/8p0khz3927gdrp7_696fw5b80000gn/T
Traceback (most recent call last):
  File "/Applications/kdenlive.app/Contents/Resources/scripts/whisper/whispertosrt.py", line 136, in <module>
    sys.exit(main(sys.argv[1],  # source AV file
  File "/Applications/kdenlive.app/Contents/Resources/scripts/whisper/whispertosrt.py", line 80, in main
    result = whispertotext.run_whisper(source, model, device, task, args)
  File "/Applications/kdenlive.app/Contents/Resources/scripts/whisper/whispertotext.py", line 126, in run_whisper
    result = loadedModel.transcribe(source, **transcribe_kwargs)
  File "/Users/master/Library/Application Support/kdenlive/venv/lib/python3.9/site-packages/whisper/transcribe.py", line 133, in transcribe
    mel = log_mel_spectrogram(audio, model.dims.n_mels, padding=N_SAMPLES)
  File "/Users/master/Library/Application Support/kdenlive/venv/lib/python3.9/site-packages/whisper/audio.py", line 140, in log_mel_spectrogram
    audio = load_audio(audio)
  File "/Users/master/Library/Application Support/kdenlive/venv/lib/python3.9/site-packages/whisper/audio.py", line 58, in load_audio
    out = run(cmd, capture_output=True, check=True).stdout
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'


There were no errors with previous version, and other applications can find ffmpeg; I have verified the PATH entry is intact.

EXPECTED RESULT

Successful processing of audio to text.

SOFTWARE/OS VERSIONS
Windows: 
macOS: Sequoia 15.5 m1 (silicon)
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

From plugins:
Speech to text is configured:
numba 0.60.0, numpy 2.0.2, openai-whisper 20240930, srt 3.5.3, torch 2.5.1