Zu MP3 Format konvertieren

  • Hi,

    ich suche nach einer Möglichkeit Dateien zu MP3 Format zu konvertieren. Hab in der SuFu zwar etwas über ffmpeg gefunden, allerdings keine Erklärung oder Ähnliches :(
    Kann mir wer weiterhelfen ?

    Einmal editiert, zuletzt von Calypso (15. November 2009 um 18:00)

    • Offizieller Beitrag
  • Du musst dir überlegen, ob du mit den fertigen Tools nicht ausreichend bedient bist.

    Warum Autoit? Wenn es doch schon Tools dafür gibt!

    Warum denn nicht ,wenn es mit AutoIt umsetzbar ist ?

    Zitat

    Wenn selbst schreiben? a) komplett? b) Automation einer kleinen Hilfe.exe ?

    Wie meinste das ? ?(

  • Achso du meinst also ein Programm "unsichtbar" laufen zu lassen und konvertieren zu lassen ?
    Naja eigentlich ist mir das egal, solange das Script auch auf anderen Rechnern läuft. Ob bei dem Script noch Dateien mitgegeben werden müssen ist egal.

  • OT: ähm... SEuBo? Ich glaub deine ganzen verschachtelten Spoiler machn die formatierung vom thread kaputt... is bei allen andern threads wo du was geschrieben hast auch so...

  • Inwiefern meinst du kaputt machen ? Steht bei dir auch ca 15 mal untereinander "Markiere den Inhalt der Box um ihn zu lesen." ?


    Zitat
  • Jap, genau das war. Außerdem waren in anderen Threads sämtliche Beiträge unter seinem Beitrag so breit, dass sie das gesamte Fenster eingenommen hatten. Danke, dass du's weggemacht hast, SEuBo :)

  • Zitat

    Hab in der SuFu zwar etwas über ffmpeg gefunden, allerdings keine Erklärung oder Ähnliches

    hmm, :cursing: Eingabe bei google von ffmpeg führt zu ffmpeg.org und dort den 2. Link angeklickt zur http://ffmpeg.org/ffmpeg-doc.html mehr Infos wirst du schwerlich finden...
    Damit sollte es auch nicht schwer sein, mit AutoIt genau das zu machen was du möchtest!

  • OT: ähm... SEuBo? Ich glaub deine ganzen verschachtelten Spoiler machn die formatierung vom thread kaputt... is bei allen andern threads wo du was geschrieben hast auch so...

    Jo ich weiß. Konnte das aber leider nicht mehr von Hand rückgägnig machen. Daher musste ich dass dann von Peethebee erledigen lassen ^^ Ab jetzt bleib ich Signaturlos :D

  • Beispiel mit FFMpeg:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $infile, $outfile

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("", 169, 138, 532, 506)
    $Button1 = GUICtrlCreateButton("Start", 8, 100, 145, 33, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("", 8, 26, 121, 21)
    $Input2 = GUICtrlCreateInput("", 8, 74, 121, 21)
    $Label1 = GUICtrlCreateLabel("Input:", 8, 8, 31, 17)
    $Label2 = GUICtrlCreateLabel("Output", 8, 56, 36, 17)
    $Button2 = GUICtrlCreateButton("...", 129, 25, 27, 23, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("...", 129, 73, 27, 23, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    $infile = FileOpenDialog("Bitte Datei wählen...", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Alles (*.*)")
    If Not @error Then GUICtrlSetData($Input1, $infile)
    Case $Button3
    $outfile = FileSaveDialog("Bitte Speicherort wählen...", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "mp3-Files (*.mp3)")
    If Not @error Then GUICtrlSetData($Input2, $outfile)
    Case $Button1
    If ($infile <> '') And ($outfile <> '') Then
    GUICtrlSetState($Button1, $GUI_DISABLE)
    if (Not StringInStr($outfile, ".mp3")) Then $outfile &= ".mp3"
    RunWait('ffmpeg.exe -i "' & $infile & '"' & ' -y "' & $outfile & '"')
    GUICtrlSetState($Button1, $GUI_ENABLE)
    Else
    MsgBox(16, "Error", "Bitte erst Dateien wählen!")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Die FFMpeg.exe musste dir noch irgendwo runterladen. Die muss ins selbe Verzeichnis wie das Script. Anhängen kann ich sie leider nicht weil sie zu groß ist.

  • Hier mein fertiger Converter falls du noch einen brauchst. Normal müsste er alles in mp3 konvertieren. die ffmpeg.exe kommt in den Ordner "bin" der im Script Ordner ist.
    4 Presets für alle Größen. Bei manchen MP4s hat er funktioniert bei anderen nicht. Das Script ist in Englisch da ich meist für Englische Freunde MiniProgramme schreibe.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("All to .mp3 Converter", 242, 210, IniRead("pos.ini", "POSITION", "x", ""), IniRead("pos.ini", "POSITION", "y", ""))
    $Group1 = GUICtrlCreateGroup("Customize", 8, 8, 225, 169)
    $Label1 = GUICtrlCreateLabel("Input File", 16, 32, 47, 17)
    $Input1 = GUICtrlCreateInput("", 16, 56, 129, 21)
    $Button1 = GUICtrlCreateButton("Browse", 152, 56, 75, 21, 0)
    $Input2 = GUICtrlCreateInput("", 16, 112, 129, 21)
    $Label2 = GUICtrlCreateLabel("Output File", 16, 88, 55, 17)
    $Button2 = GUICtrlCreateButton("Browse", 152, 112, 75, 21, 0)
    $Combo1 = GUICtrlCreateCombo("", 16, 144, 209, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "MP3 High-Quality|MP3 Optimal-Quality|MP3 Standard-Quality|MP3 Low-Quality", "MP3 High-Quality")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button3 = GUICtrlCreateButton("Convert!", 8, 184, 227, 21, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $pos = WinGetPos("All to .mp3 Converter") ;fragt aktuelle x,y,höhe,breite werte ab. benutze ich für die speicherung der position
    IniWrite("pos.ini", "POSITION", "x", $pos[0]) ;schreibt x wert in ini
    IniWrite("pos.ini", "POSITION", "y", $pos[1]) ;schreibt y wert in ini
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $in = FileOpenDialog("Browse for Input File", "C:\", "Video Files(*.mpg;*.wmv;*.avi;*.mp4;*.flv)|Audio Files(*.mp2;*.wav)") ;input file suchen
    GUICtrlSetData($Input1, $in) ;input file in die input box 1 schreiben
    Case $Button2
    $out = FileOpenDialog("Save Dialog", "C:\", "MP3 File(*.mp3)") ;output namen festlegen
    If Not StringInStr($out, ".mp3") Then ;falls der eingegeben name kein .mp3 enthält fügt das script das automatisch hinzu
    $out = $out & ".mp3"
    EndIf
    GUICtrlSetData($Input2, $out) ; schreibt pfad in die input box 2
    Case $Button3
    _encode() ;führt encode funktion aus
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _encode()
    Local $infile = GUICtrlRead($Input1) ;legt input für ffmpeg fest
    Local $outfile = GUICtrlRead($Input2) ;legt output für ffmpeg fest
    If GUICtrlRead($Combo1) = "MP3 High-Quality" Then ;wenn hq preset angewählt ist diese parameter nutzen:
    ShellExecute("ffmpeg.exe", "-i " & $infile & " -ar 48000 -ab 256k -ac 2 " & $outfile, @ScriptDir & "\bin")
    ElseIf GUICtrlRead($Combo1) = "MP3 Optimal-Quality" Then ;wenn oq gewählt ist diese parameter nutzen:
    ShellExecute("ffmpeg.exe", "-i " & $infile & " -ar 48000 -ab 192k -ac 2 " & $outfile, @ScriptDir & "\bin")
    ElseIf GUICtrlRead($Combo1) = "MP3 Standard-Quality" Then ;wenn sq gewählt ist diese parameter nutzen:
    ShellExecute("ffmpeg.exe", "-i " & $infile & " -ar 44100 -ab 128k -ac 2 " & $outfile, @ScriptDir & "\bin")
    ElseIf GUICtrlRead($Combo1) = "MP3 Low-Quality" Then ;wenn lq gewählt ist diese parameter nutzen:
    ShellExecute("ffmpeg.exe", "-i " & $infile & " -ar 22050 -ab 96k -ac 2 " & $outfile, @ScriptDir & "\bin")
    EndIf
    ProcessWaitClose("ffmpeg.exe") ;wartet bis konvertieren abgeschlossen ist
    MsgBox(0, "Job Finished", "Encoding Completed" & @CRLF & "New MP3: " & $outfile) ;gibt an das konvertieren fertig ist
    EndFunc ;==>_encode

    [/autoit]