# Torchaudio is not able to access FFmpeg

**URL:** <https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949>\
**Category:** audio\
**Created:** [May 17, 2024, 1:55pm UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949 "2024-05-17T13:55:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dylen](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dylen](https://discuss.pytorch.org/u/Dylen)\
**Post date:** [May 17, 2024, 1:55pm UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949/1 "2024-05-17T13:55:13Z")

</div>

I am new to torchaudio, and I am trying to use StreamReader to get data from my microphone, but I cannot get it to start because it can’t access FFmpeg.

```auto
from torchaudio.io import StreamReader

streamer = StreamReader(
    src='audio=@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{A531F508-ED15-42F3-A46F-9C8ADB26C05A}',
    format='dshow',
)
for i in range(streamer.num_src_streams):
    print(streamer.get_src_stream_info(i))

```

```auto
ImportError Traceback (most recent call last)
Cell In[2], line 4
      1 import matplotlib.pyplot as plt 
      2 from torchaudio.io import StreamReader
----> 4 streamer = StreamReader(
      5 src='audio=@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{A531F508-ED15-42F3-A46F-9C8ADB26C05A}',
      6 format='dshow',
      7 )

File d:\Python\torchaudio\.venv\Lib\site-packages\torio\io\_streaming_media_decoder.py:526, in StreamingMediaDecoder. __init__ (self, src, format, option, buffer_size)
    524 self._be = ffmpeg_ext.StreamingMediaDecoderFileObj(src, format, option, buffer_size)
    525 else:
--> 526 self._be = ffmpeg_ext.StreamingMediaDecoder(os.path.normpath(src), format, option)
    528 i = self._be.find_best_audio_stream()
    529 self._default_audio_stream = None if i < 0 else i

File d:\Python\torchaudio\.venv\Lib\site-packages\torio\_extension\utils.py:25, in _LazyImporter. __getattr__ (self, item)
     24 def __getattr__ (self, item):
---> 25 self._import_once()
     26 return getattr(self.module, item)

File d:\Python\torchaudio\.venv\Lib\site-packages\torio\_extension\utils.py:39, in _LazyImporter._import_once(self)
     37 def _import_once(self):
     38 if self.module is None:
---> 39 self.module = self.import_func()
     40 # Note:
     41 # By attaching the module attributes to self,
     42 # module attributes are directly accessible.
     43 # This allows to avoid calling __getattr__ for every attribute access.
     44 self. __dict__.update(self.module. __dict__ )

File d:\Python\torchaudio\.venv\Lib\site-packages\torio\_extension\utils.py:143, in _init_ffmpeg()
    141 def _init_ffmpeg():
    142 ffmpeg_vers = _get_ffmpeg_versions()
--> 143 ext = _find_ffmpeg_extension(ffmpeg_vers)
    144 ext.init()
    145 if ext.get_log_level() > 8:

File d:\Python\torchaudio\.venv\Lib\site-packages\torio\_extension\utils.py:122, in _find_ffmpeg_extension(ffmpeg_vers)
    120 _LG.debug("Failed to load FFmpeg%s extension.", ffmpeg_ver, exc_info=True)
    121 continue
--> 122 raise ImportError(
    123 f"Failed to intialize FFmpeg extension. Tried versions: {ffmpeg_vers}. "
    124 "Enable DEBUG logging to see more details about the error."
    125 )

ImportError: Failed to intialize FFmpeg extension. Tried versions: ['6', '5', '4', '']. Enable DEBUG logging to see more details about the error.

```

Is the error I get. I am on windows and the version I have installed for FFmpeg is 6.1.1.

 ![ffmpeg](https://discuss.pytorch.org/uploads/default/original/3X/5/c/5c6248c2905b59e297694ca713c09a9c7010b06d.png)  
I have tried to look this up but I cannot find anyone with a similar issue. I am on windows 10 too, any help would be appreciated.  
Thank you.

---

<div class="post-metadata">

**Author:** ![nitta](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/n/d78d45/32.png) [@nitta](https://discuss.pytorch.org/u/nitta)\
**Post date:** [June 6, 2024, 1:44am UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949/2 "2024-06-06T01:44:19Z")

</div>

I have the same probrem. I turn on DEBUG msg.

```auto
DEBUG:torio._extension.utils:Loading FFmpeg6
DEBUG:torio._extension.utils:Failed to load FFmpeg6 extension.
Traceback (most recent call last):
  File "C:\Users\XXXXXX\.venv\gijiroku\Lib\site-packages\torio\_extension\utils.py", line 116, in _find_ffmpeg_extension
    ext = _find_versionsed_ffmpeg_extension(ffmpeg_ver)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\XXXXXX\.venv\gijiroku\Lib\site-packages\torio\_extension\utils.py", line 108, in _find_versionsed_ffmpeg_extension
    _load_lib(lib)
  File "C:\Users\XXXXXX\.venv\gijiroku\Lib\site-packages\torio\_extension\utils.py", line 94, in _load_lib
    torch.ops.load_library(path)
  File "C:\Users\XXXXXX\.venv\gijiroku\Lib\site-packages\torch\_ops.py", line 1032, in load_library
    ctypes.CDLL(path)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64 __qbz5n2kfra8p0\Lib\ctypes\__ init __.py", line 379, in__ init__  
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: Could not find module 'C:\Users\XXXXXX\.venv\gijiroku\Lib\site-packages\torio\lib\libtorio_ffmpeg6.pyd' (or one of its dependencies). Try using the full path with constructor syntax.

```

---

<div class="post-metadata">

**Author:** ![nitta](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/n/d78d45/32.png) [@nitta](https://discuss.pytorch.org/u/nitta)\
**Post date:** [June 6, 2024, 2:53am UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949/3 "2024-06-06T02:53:22Z")

</div>

[Installing pre-built binaries — Torchaudio 2.3.0 documentation (pytorch.org)](https://pytorch.org/audio/2.3.0/installation.html)

> When searching for FFmpeg installation, TorchAudio looks for library files which have names with version numbers. That is, `libavutil.so.<VERSION>` for Linux, `libavutil.<VERSION>.dylib` for macOS, and `avutil-<VERSION>.dll` for Windows.

---

<div class="post-metadata">

**Author:** ![FurkanGozukara](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/furkangozukara/32/53457_2.png) [@FurkanGozukara](https://discuss.pytorch.org/u/FurkanGozukara)\
**Post date:** [December 14, 2024, 12:45pm UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949/4 "2024-12-14T12:45:01Z")

</div>

@nitta so how do we install those on windows?

---

<div class="post-metadata">

**Author:** ![FurkanGozukara](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/furkangozukara/32/53457_2.png) [@FurkanGozukara](https://discuss.pytorch.org/u/FurkanGozukara)\
**Post date:** [December 14, 2024, 12:58pm UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949/5 "2024-12-14T12:58:21Z")

</div>

I can’t find a way to install these on windows python 3.10 venv please help

ty

> <https://stackoverflow.com/questions/79280663/how-to-download-ffmpeg-utilities-into-python-venv-with-pip-or-manual-way-for-tor>

---

<div class="post-metadata">

**Author:** ![Papier101](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/p/e495f1/32.png) [@Papier101](https://discuss.pytorch.org/u/Papier101)\
**Post date:** [January 20, 2025, 5:33pm UTC](https://discuss.pytorch.org/t/torchaudio-is-not-able-to-access-ffmpeg/202949/6 "2025-01-20T17:33:29Z")

</div>

You can install shared FFmpeg e.g. using winget: `winget install --id=Gyan.FFmpeg.Shared -v "6.1.1" -e`, ensure ffmpeg is on PATH with the correct version. Then torchaudio should find the necessary files.
