Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"fmpeg" has no attribute "input"

I had previously built this youtube downloader but when I tested it recently; it stopped working.

from pytube import YouTube
import ffmpeg
import os

raw = 'C:\ProgramData\ytChache'

path1 = 'C:\ProgramData\ytChache\Video\\'
path2 = 'C:\ProgramData\ytChache\Audio\\'

file_type = "mp4"

if os.path.exists(path1 and path2):
    boo = True
else:
    boo = False

while boo:

    url = str(input("Link : "))
    choice = int(input('Enter 1 for Only Audio and Enter 2 For Both Audio and Video \n: '))

    video = YouTube(url)
    Streams = video.streams

    if choice == 1:
        aud = Streams.filter(only_audio=True).first().download(path2)

    elif choice == 2:
        resol = str(input("Resolution : "))
        vid = Streams.filter(res=resol, file_extension=file_type).first().download(path1)
        aud = Streams.filter(only_audio=True).first().download(path2)

        file = video.title + '.mp4'
        # location = path1
        # location2 = path2
        rem = os.path.join(path1, file)
        rm = os.path.join(path2, file)

        video_stream = ffmpeg.input(path1, video.title + '.mp4')
        audio_stream = ffmpeg.input(path2, video.title + '.mp4')
        ffmpeg.output(audio_stream, video_stream, video.title + '.mp4').run()
        os.remove(rem)
        os.remove(rm)

    else:
        print('Invalid Selection')

if not boo:
    os.mkdir(raw)
    os.mkdir(path1)
    os.mkdir(path2)

so it gives an error saying:

Traceback (most recent call last):
  File "E:\dev files\YouTube Video Downloader\Video Downloader.py", line 39, in <module>
    video_stream = ffmpeg.input(path1 + video.title + '.mp4')
AttributeError: module 'ffmpeg' has no attribute 'input'

I can't figure out what happened. I think it may have something to do about the versions of ffmpeg or something??

like image 510
Robin Singh Avatar asked Jun 06 '26 14:06

Robin Singh


2 Answers

try:
pip install ffmpeg-python

instead of:
pip install ffmpeg

looks like your problem

Adding to the answer of @user14741746, take care of installing ffmpeg-python, be aware that there is another package called python-ffmpeg, as per the comment here.
Correct:

pip install ffmpeg-python

Incorrect:

pip install ffmpeg
pip install python-ffmpeg

That is, unless you are trying to install one of these two packages on purpose.

like image 43
Jerardo Avatar answered Jun 08 '26 02:06

Jerardo