ffmpeg funktioniert nicht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
toper3902

Hallo zusammen,
ich möchte gerne eine mp3 datei in eine wav datei umwandeln.

Allerdings funktionieren weder pydub noch subprocess oder irgendetwas anderes das ffmpeg benutzt.
Ich bekomme immer diese Fehlermeldung

Code: Alles auswählen

Warning (from warnings module):
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pydub\utils.py", line 165
    warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work

Warning (from warnings module):
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pydub\utils.py", line 193
    warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning)
RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work
Traceback (most recent call last):
  File "D:\Tobias\Python\test.py", line 7, in <module>
    sound = AudioSegment.from_mp3("spanisch.mp3")
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pydub\audio_segment.py", line 716, in from_mp3
    return cls.from_file(file, 'mp3', parameters=parameters)
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pydub\audio_segment.py", line 665, in from_file
    info = mediainfo_json(orig_file)
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pydub\utils.py", line 263, in mediainfo_json
    res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Tobias_Arbeit\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@toper3902: Man muss ffmpeg und ffprobe oder avconv und avprobe so installieren das die Programme für den Python-Prozess im %PATH% liegen.

Warum willst Du MP3 denn in WAV umwandeln, und was genau soll das bedeuten? Willst Du bloss WAV als Containerformat für MP3-Daten, oder soll es ein anderer Codec sein/werden?
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
toper3902

Ich habe es bereits installiert aber es funktioniert trotzdem nicht.

Ich möchte es einfach nur stumpf umwandeln
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@toper3902: Aber warum? Das muss doch irgendeinen Grund haben‽ Wenn es nur um den Container geht, warum muss das sein, und wenn es ein anderer Codec sein soll, warum willst Du ein eh schon verlustbehaftetes Format umkodieren?
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
toper3902

Ich möchte zwei Dateien zusammenfügen.
Ich weiß aber nur wie man mp3 dateien abspeichert
und wie ma 2 wav Dateien zusammenfügt.
Benutzeravatar
sparrow
User
Beiträge: 4599
Registriert: Freitag 17. April 2009, 10:28

Das Thema hatten wir doch gerade erst.
Installier eines der benötigten Programme und nehme es in %PATH% auf.
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Oder speichere einfach die beiden MP3-Dateien in die gleiche Datei, hintereinander.
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
toper3902

Ich habe es ja bereits installiert
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Offenbar nicht richtig/vollständig, beziehungsweise ist die Konfiguration noch nicht vollständig.
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
toper3902

Könntest du mal eine Schritt für Schritt anweisung schreiben
Dann kann ich sehen ob ich was vergessen hab.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wir haben das lang und breit in einem anderen Thread diskutiert. Die dort am Ende von mir gestellte Frage hast du ignoriert. Was soll das jetzt bringen, hier von vorne anzufangen? Besprich dieses Problem im dem Thread, in dem wir dir schon eine Vielzahl von Hinweisen gegeben haben. Die aendern sich nicht dadurch, dass man die gleiche Frage nochmal stellt.
toper3902

Dann fang erst gar nicht an irgendwas zu schreiben wenns am Ende eh nichts bringt
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist nicht das, was ich gesagt habe. Aber wenn du der Meinung bist rumpampen zu muessen, bitteschoen. Loes deine Probleme halt selbst.
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@toper3902: Das sollte doch bei den entsprechenden Projekten in der Dokumentation stehen. Bei mir geht das mit ``apt install ffmpeg`` – ist halt kein Windows. :-)
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
randomuser
User
Beiträge: 9
Registriert: Donnerstag 21. Februar 2019, 09:58

Warum der Umweg zu Python? (mag einen Grund haben, ist mir aber nicht ersichtlich):
Hier der direkt Weg in ffmpeg:

Code: Alles auswählen

ffmpeg -i quelldatei.mp3 zieldatei.wav

Alternativ sofern es via Python gemacht werden muss. Statt unter Windows am Pfad rumzumurksen, einfach den Pfad von ffmpeg etc in Python zum bereits vorhanden Pfad hinzufügen. Ist temporär und nur gültig innerhalb der laufenden Python Instanz.

Code: Alles auswählen

import sys

sys.path.append("D:/hier_is_der_ordner/der_alle_ffmpeg_binaries_hat/")
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@randomuser: Der ”Umweg” über Python weil die ursprünglichen Dateien/Daten ja schon mit Python erstellt werden. Da wäre es also eher ein Umweg wenn man das jetzt ausserhalb von Python lösen wollte.

Die Änderung von `sys.path` bringt überhaupt nichts. Das sind die Pfade in denen *Python* nach *Modulen* sucht. Das Problem ist aber die Einstellung wo *Windows* nach *ausführbaren Programmen* sucht.
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
randomuser
User
Beiträge: 9
Registriert: Donnerstag 21. Februar 2019, 09:58

Ah falschen PATH erwicht... meinte das hier:

Code: Alles auswählen

import os

os.environ['PATH'] += os.pathsep + "D:/der_ordner_mit_ffmpeg/kommt_hier"
Damit sollte Python ffmpeg finden, unabhängig von Windows.
Antworten