Ffmpeg.exe ansteuern?

  • hi @ all,
    ich hab in der SuFu gelesen das man mit die FFmpeg.exe über autoit ansteuern kann.
    habe auch schon beispiele gesehen aber nicht verstanden jetzt wollte ich fragen ob jemand vllt. die einzelnen/wichtigsten Funktionen zum Ansteuer hier erklären/beschreiben kann.
    Gruß Roggazzz

  • ich habe hier im forum mal was gefunden des war von Alina oder von Funkey

    mit dem konvertiere ich von flv zu mp3 vielleicht kannste ja was damit anfangen


    Spoiler anzeigen
    [autoit]

    If Not FileExists("C:\" & $s_v & ".bat") Then _FileCreate("C:\" & $s_v & ".bat")
    Sleep (50)
    FileOpen("C:\" & $s_v & ".bat", 2)
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", '"ffmpeg" -i ')
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", $s_v)
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", ".flv")
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", " -ar 44100 -ac 2 -ab 256k ")
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", $s_v)
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", ".mp3")
    Sleep (50)
    FileClose("C:\" & $s_v & ".bat")
    Sleep (50)
    RunWait(@ComSpec & " /c " & "C:\" & $s_v & ".bat","", @SW_HIDE)
    sleep(7000)
    FileOpen("C:\" & $s_v & ".bat", 2)
    Sleep (50)
    FileWrite("C:\" & $s_v & ".bat", "")
    Sleep (50)
    FileClose("C:\" & $s_v & ".bat")
    Sleep (50)
    FileMove("C:\" & $s_v & ".flv" , @DesktopDir & "\BS-VidLoad\Videos\"& $s_v & ".flv")
    Sleep (50)
    FileMove("C:\" & $s_v & ".mp3" , @DesktopDir & "\BS-VidLoad\MP3s\"& $s_v & ".mp3")
    Sleep (50)
    FileDelete("C:\" & $s_v & ".bat")
    Sleep (50)
    SplashTextOn("Abgeschlossen", "Download erfolgreich beendet", 350, 45, -1, -1, 1, "", 12)
    SoundPlay("C:\tada.wav",1)
    Sleep(700)
    SplashOff()
    If $prog = 0 Then ProgressOff ()
    Return $punkt
    Exit
    EndFunc

    [/autoit]
  • Hi,
    das Script schreibt eine Batchdatei und führt sie nachher aus. Das ist alles.
    Man könnte das Script gewaltig kürzen, aber das ist eine andere Sache.
    ciao
    Andy

  • ffmpeg -i test.flv -ar 44100 -ac 2 -ab 256k test.mp3 so könnte man eine flv in mp3 umwandeln mit fester bitrate, aber warum liest du dir nich einfach die Dokumentation zu ffmpeg durch, da stehen ALLE möglichen Befehle beschrieben und wie man sie anwendet

    http://ffmpeg.org/ffmpeg-doc.html

  • Hey,
    anbei ein Skript von mir.
    Dort wird die Funktion genutzt von .flv in .mp3 zu wandeln^^
    Schau es dir einfach an :P

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstants.au3>
    #include <inet.au3>
    #include <Date.au3>

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

    ;~ FileInstall ("C:/ffmpeg.exe", "C:/ffmpeg.exe")

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

    GUICreate("You Tube Video-Downloader by PokerFace", 273, 105, 193, 115, -1)
    $DwnInput = GUICtrlCreateInput("Hier YouTube Link Rein !", 8, 24, 257, 21)
    GUICtrlCreateLabel("www.youtube.com Download Link:", 8, 8, 268, 15)
    $start = GUICtrlCreateButton("&Start", 8, 48, 128, 25, 0)
    $Progress = GUICtrlCreateProgress(8, 80, 257, 16)
    $abb = GUICtrlCreateButton("A&bbruch", 137, 48, 128, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $start

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

    GUICtrlSetState($start,$GUI_DISABLE)
    $dwnlink = GUICtrlRead($DwnInput)
    $sCode=_INetGetSource ($dwnlink)
    $s_t=StringRegExp($sCode, "&t=(.*?)&", 3)
    If Not IsArray ($s_t) Then
    MsgBox (0, "Error", "Ungültiger Link!")
    Exit
    Else
    $s_v=stringmid($dwnlink,stringinstr($dwnlink,"v=")+2)
    $save = FileSaveDialog("Speichere FLV","","Flash Video (*.flv)",-1,$s_v)
    If StringRight($save,4) <> ".swf" Then $save&=".flv"
    _Download("http://youtube.com/get_video?video_id=" & $s_v & "&t=" & $s_t[0],$save,$Progress)
    GUIDelete()
    MsgBox(0,"","Fertig!")
    EndIf

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

    EndSwitch
    WEnd

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

    Func _Download($site,$punkt,$prog=0)
    $orisize = InetGetSize($site)
    InetGet($site,$punkt,1,1)
    If $prog = 0 Then ProgressOn("Download","")
    Do
    $msg = GUIGetMsg()
    If $msg = $abb Then
    If MsgBox(4,"","Abbruch?") = 6 Then Exit
    EndIf
    $size1 = FileGetSize($punkt)
    $MBsize1 = FileGetSize($punkt)
    $inetget = @InetGetBytesRead
    $Prozent = (100 * $inetget ) / $orisize
    $decimalplace = Round ($Prozent)
    $decimalplaceMBsize1 = Round (@InetGetBytesRead / 1024)
    If $prog = 0 Then
    ProgressSet ($Prozent, $decimalplace & "% " & "(" & $decimalplaceMBsize1 & ") Kb sind bereits gedownloadet.")
    Else
    GUICtrlSetData($prog,$Prozent)
    EndIf
    Until @InetGetActive = 0
    If $prog = 0 Then ProgressOff ()
    Local $sFFmpeg="", $hFFmpeg
    $hFFmpeg=Run(@ScriptDir&'"ffmpeg.exe -i "' & $punkt & '" -y "' & StringTrimRight($punkt,3) & 'mp3"',@ScriptDir,@SW_HIDE,0x4)
    While 1
    $sFFmpeg &= StderrRead($hFFmpeg)
    If @error Or StringInStr($sFFmpeg,"Duration") Then ExitLoop
    WEnd
    $sFFmpeg = StringLeft(StringTrimLeft($sFFmpeg, StringInStr($sFFmpeg, "Duration:") + 9), 8)
    $iTicks = _TimeToTicks(StringLeft($sFFmpeg, 2), StringMid($sFFmpeg, 4, 2), StringMid($sFFmpeg, 7, 2))
    While 1
    $sFFmpeg = StderrRead($hFFmpeg)
    If @error Then ExitLoop
    If StringInStr($sFFmpeg,"time=") Then
    $sFFmpeg=StringTrimLeft($sFFmpeg, StringInStr($sFFmpeg, "time=") + 4)
    GUICtrlSetData($prog,(StringLeft($sFFmpeg, StringInStr($sFFmpeg, ".")-1) *100000)/$iTicks)
    EndIf
    WEnd
    Return $punkt
    EndFunc

    [/autoit]

    Im Skriptordner muss auch die ffmpeg.exe sein