Skip to content

RuntimeError: Could not load libtorchcodec. #1235

@baoshi0311

Description

@baoshi0311

Checks

  • This template is only for bug reports, usage problems go with 'Help Wanted'.
  • I have thoroughly reviewed the project documentation but couldn't find information to solve my problem.
  • I have searched for existing issues, including closed ones, and couldn't find a solution.
  • I am using English to submit this issue to facilitate community communication.

Environment Details

ubuntu 24.04.3, RTX 2080 Ti torch==2.4.0+cu124 torchaudio==2.4.0+cu124

Steps to Reproduce

Starting app...

  • Running on local URL: http://127.0.0.1:7860
  • To create a public link, set share=True in launch().
    torch_dtype is deprecated! Use dtype instead!
    Device set to use cuda
    Using chunk_length_s is very experimental with seq2seq models. The results will not necessarily be entirely accurate and will have caveats. More information: Adding chunking for whisper (all seq2seq actually). Very crude matching algorithm. huggingface/transformers#20104. Ignore this warning with pipeline(..., ignore_warning=True). To use Whisper for long-form transcription, use rather the model's generate method directly as the model relies on it's own chunking mechanism (cf. Whisper original paper, section 3.8. Long-form Transcription).
    Traceback (most recent call last):
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/gradio/queueing.py", line 759, in process_events
    response = await route_utils.call_process_api(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/gradio/route_utils.py", line 354, in call_process_api
    output = await app.get_blocks().process_api(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/gradio/blocks.py", line 2191, in process_api
    result = await self.call_function(
    ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/gradio/blocks.py", line 1698, in call_function
    prediction = await anyio.to_thread.run_sync( # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/anyio/to_thread.py", line 61, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2525, in run_sync_in_worker_thread
    return await future
    ^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run
    result = context.run(func, *args)
    ^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/gradio/utils.py", line 915, in wrapper
    response = f(*args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
    File "/home/artworker/tts/F5-TTS/src/f5_tts/infer/infer_gradio.py", line 290, in basic_tts
    audio_out, spectrogram_path, ref_text_out, used_seed = infer(
    ^^^^^^
    File "/home/artworker/tts/F5-TTS/src/f5_tts/infer/infer_gradio.py", line 160, in infer
    ref_audio, ref_text = preprocess_ref_audio_text(ref_audio_orig, ref_text, show_info=show_info)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/tts/F5-TTS/src/f5_tts/infer/utils_infer.py", line 361, in preprocess_ref_audio_text
    ref_text = transcribe(ref_audio)
    ^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/tts/F5-TTS/src/f5_tts/infer/utils_infer.py", line 176, in transcribe
    return asr_pipe(
    ^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/transformers/pipelines/automatic_speech_recognition.py", line 275, in call
    return super().call(inputs, **kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/transformers/pipelines/base.py", line 1459, in call
    return next(
    ^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/transformers/pipelines/pt_utils.py", line 126, in next
    item = next(self.iterator)
    ^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/transformers/pipelines/pt_utils.py", line 271, in next
    processed = self.infer(next(self.iterator), **self.params)
    ^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torch/utils/data/dataloader.py", line 630, in next
    data = self._next_data()
    ^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torch/utils/data/dataloader.py", line 673, in _next_data
    data = self._dataset_fetcher.fetch(index) # may raise StopIteration
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torch/utils/data/_utils/fetch.py", line 33, in fetch
    data.append(next(self.dataset_iter))
    ^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/transformers/pipelines/pt_utils.py", line 188, in next
    processed = next(self.subiterator)
    ^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/transformers/pipelines/automatic_speech_recognition.py", line 381, in preprocess
    import torchcodec
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/init.py", line 12, in
    from . import decoders, encoders, samplers # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/decoders/init.py", line 7, in
    from .._core import AudioStreamMetadata, VideoStreamMetadata
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/_core/init.py", line 8, in
    from ._metadata import (
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/_core/_metadata.py", line 16, in
    from torchcodec._core.ops import (
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/_core/ops.py", line 85, in
    ffmpeg_major_version, core_library_path = load_torchcodec_shared_libraries()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/_core/ops.py", line 70, in load_torchcodec_shared_libraries
    raise RuntimeError(
    RuntimeError: Could not load libtorchcodec. Likely causes:
    1. FFmpeg is not properly installed in your environment. We support
    versions 4, 5, 6, 7, and 8.
    2. The PyTorch version (2.4.0+cu124) is not compatible with
    this version of TorchCodec. Refer to the version compatibility
    table:
    https://github.com/pytorch/torchcodec?tab=readme-ov-file#installing-torchcodec.
    3. Another runtime dependency; see exceptions below.
    The following exceptions were raised as we tried to load libtorchcodec:

[start of libtorchcodec loading traceback]
FFmpeg version 8: libavutil.so.60: cannot open shared object file: No such file or directory
FFmpeg version 7: libavutil.so.59: cannot open shared object file: No such file or directory
FFmpeg version 6: /home/artworker/miniconda3/envs/f5-tts/lib/python3.11/site-packages/torchcodec/libtorchcodec_core6.so: undefined symbol: _ZNK3c106Device3strB5cxx11Ev
FFmpeg version 5: libavutil.so.57: cannot open shared object file: No such file or directory
FFmpeg version 4: libavutil.so.56: cannot open shared object file: No such file or directory
[end of libtorchcodec loading traceback].
^CKeyboard interruption in main thread... closing server.

✔️ Expected Behavior

No response

❌ Actual Behavior

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions