1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【解決】moviepyで「ファイルが見つかりません」と表示されるけど正常に動く謎エラーを調査した話

Last updated at Posted at 2025-08-23

はじめに

Pythonで動画を扱う際に便利なmoviepyライブラリを利用した際に、プログラムを実行すると「ファイルが見つかりません」と表示されました。

ファイルが見つかりません

コードを見直してもファイルパスが間違っているわけではなく、処理は問題なく完了していました。

何が原因なのか気になるので、この謎のエラーの正体を徹底的に調査することにしました。

現象が起きるコード

まず、問題が起きる状況を特定するため、単純なコードで現象が再現するか試しました。

from moviepy.editor import VideoFileClip

VIDEO_FILE_PATH = "video.mp4"

try:
    with VideoFileClip(VIDEO_FILE_PATH) as video:
        print(f"動画の長さを取得: {video.duration}")
    print("正常に終了")
except Exception as e:
    print(f"MoviePyでエラーが発生: {e}")

このコードを実行した結果、やはり現象が再現しました。

ファイルが見つかりません
動画の長さを取得: 15.02秒
正常に終了

原因調査

エラーの正体を突き止めるため、私は以下のステップで調査を進めました。

1. 原因ライブラリの切り分け

元のコードでは、moviepy以外にもOpenCV (cv2)librosaなど、複数のライブラリを使用していました。
そこで、どのライブラリがエラーの原因なのかを特定するため、それぞれを単体で動かしました。

その結果、moviepyのテストで現象が再現し、エラーメッセージの発生源はmoviepyライブラリの初期化処理にあると断定しました。

2. Process Monitorによる裏側の監視

原因がmoviepyにあることはわかりましたが、moviepyのコードのどこでエラーが起きているのかは不明です。
moviepyは内部でffmpegという外部プログラムを呼び出しているため、エラーはその過程で起きている可能性が高いと推測しました。

そこで、Windowsの高度なプロセスモニタリングツール「Process Monitor (Procmon)」を使い、プログラムの裏側でどのようなファイルアクセスが行われているのかを監視しました。

Procmonで以下のフィルタを設定し、実行中のログをキャプチャしました。

  1. Process Namepython.exe である
  2. ResultNAME NOT FOUND である
  3. Pathffmpeg という文字が含まれる

判明したエラーの正体

Procmonのログを確認して、謎が解けました。
当初は、「moviepyffprobe.exeという関連ファイルを見つけられずにエラーを出しているのでは?」と予想していましたが、少し違いました。

表示されたProcess Monitorのログの抜粋がこちらです。

Process Name  Operation     Path                                                                                       Result
------------- ------------- ------------------------------------------------------------------------------------------ --------------
python.exe    RegOpenKey    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ffmpeg-.... NAME NOT FOUND

これは、moviepyffmpegを実行しようとした際、Windows自身が「このプログラム(ffmpeg.exe)に何か特別な実行設定(デバッグオプションなど)はありますか?」とレジストリを確認しにいった記録でした。

もちろん、そんな特別な設定はしていないので、結果は「見つかりません(NAME NOT FOUND)」となります。
これが、エラーメッセージの正体でした。

結論:無視してOK

結論として、moviepy実行時に表示される「ファイルが見つかりません」は、プログラムの欠損やバグではなく、Windowsが外部プログラムを実行する際に行う正常な内部チェックのログでした。

もし同じ現象に遭遇したら、安心して無視で良いと思います。

おわりに

今回は、一見不可解なエラーメッセージの正体を調査しました。
ライブラリの裏側やOSの挙動を少し覗いてみることで、多くの学びがありました。

この記事が、同じような謎現象に遭遇した方の助けになれば幸いです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?