Skip to content

FFExecutableNotFoundError: Executable 'ffprobe' not found during video processing in Gradio #12

@prsstt

Description

@prsstt

Description

When attempting to process a video using the application, the execution fails with an FFExecutableNotFoundError. The error occurs within the Gradio video component while trying to validate if the video is playable (video_is_playable), because it cannot locate the ffprobe executable on the system.

Error Logs

Traceback (most recent call last):
  File "[...]\ffmpy\ffmpy.py", line 112, in run
    self.process = popen(
                    ~~~~~^
        self._cmd, stdin=subprocess.PIPE, stdout=stdout, stderr=stderr, env=env, **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "subprocess.py", line 1039, in __init__
  File "subprocess.py", line 1554, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "[...]\gradio\queueing.py", line 759, in process_events
    response = await route_utils.call_process_api(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<5 lines>...
    )
    ^
  File "[...]\gradio\route_utils.py", line 354, in call_process_api
    output = await app.get_blocks().process_api(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "[...]\gradio\blocks.py", line 2127, in process_api
    data = await self.postprocess_data(block_fn, result["prediction"], state)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "[...]\gradio\blocks.py", line 1904, in postprocess_data
    prediction_value = block.postprocess(prediction_value)
  File "[...]\gradio\components\video.py", line 298, in postprocess
    processed_files = (self._format_video(value), None)
                        ~~~~~~~~~~~~~~~~~~^^^^^^^
  File "[...]\gradio\components\video.py", line 354, in _format_video
    and not processing_utils.video_is_playable(video)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "[...]\gradio\processing_utils.py", line 1039, in video_is_playable
    output = probe.run(stderr=subprocess.PIPE, stdout=subprocess.PIPE)
  File "[...]\ffmpy\ffmpy.py", line 117, in run
    raise FFExecutableNotFoundError(f"Executable '{self.executable}' not found")
ffmpy.ffmpy.FFExecutableNotFoundError: Executable 'ffprobe' not found

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions