FFmpeg Fortschritt auslesen und Cover hinterlegen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Krschy.

    FFmpeg Fortschritt auslesen und Cover hinterlegen

    Hey vlt kann mir ja jmd weiterhelfen ich schreibe einen YouTube2ALL Converter haben zwei Probleme :
    1) Wie lässt sich der Fortschritt von ffmpeg auslesen?
    haben da schon alles abgesucht aber immer nur Ergebnisse gefunden die mir letzendlich nichts gebracht haben da sie nicht funktionierten!

    Spoiler anzeigen
    Hier mein bisheriger Code für den Process

    VB.NET-Quellcode

    1. ffmpeg = New Process
    2. ffmpeg.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    3. ffmpeg.StartInfo.FileName = mpegexe
    4. ffmpeg.StartInfo.UseShellExecute = False
    5. ffmpeg.StartInfo.RedirectStandardError = True
    6. ffmpeg.StartInfo.RedirectStandardOutput = True
    7. ffmpeg.StartInfo.CreateNoWindow = True
    8. ffmpeg.StartInfo.Arguments = (" -i """ & datei & """ -acodec libmp3lame -ab 160kb -ac 2 -ar 44100" & " " & """ & ausgabe & """)
    9. ffmpeg.Start()
    10. Do
    11. Loop Until ffmpeg.HasExited = True


    2) Wie lässt sich mit Hilfe von FFmpeg ein Cover für eine MP3 Datei hinterlegen?

    danke im voraus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „technobase“ ()

    1. [VB 2008] ffmpeg flv zu mp3 convertiren

    2. Mithilfe von FFMPEG meines Wissens nicht, dafür musst du die ID3 Tags bearbeiten, mit Google und dem Begriff solltest du weiter kommen...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    Krschy schrieb:

    Würd ich auch gerne wissen

    Tja, technobase wartet offensichtlich schon seit 2 Jahren auf die Antwort ( so alt ist der Post ).

    Aber hatte ich Dir nicht eine laaange Antowrt in diesem Post gegeben -> Konsolenanwendung per CMD starten und gesamten CMD Text auslesen

    Der Wegi über Console auslesen ist schon richtig und funktioniert (bei mir). Also
    1. Process deklarieren
    2. Startinfos richtig füllen (WorkingDirectory / Redirection Standarderror / EnableEvents
    3. process starten
    4. der Trick ist das 'synchrone Auslesen' des Datenstroms

    VB.NET-Quellcode

    1. ' falls nicht geht: synchrones Lesen (ffmepg schreibt nur in den ErrorStream
    2. Dim sr As StreamReader = p.StandardError
    3. While sr.Peek() >= 0
    4. Dim result As String = sr.ReadLine()
    5. Debug.WriteLine(result)
    6. TextBox1.AppendText(result & Environment.NewLine)
    7. End While
    8. sr.Close()
    9. ' auf das Beenden warten
    10. p.WaitForExit()
    11. p.Close()


    Läuft ...
    Danke! Danke!
    Ich habs letztens ja aufgegeben, weil das nicht ging.
    Aber der Code sieht viel versprechend aus und nochmal danke für diesen Aufwand!

    mfg

    EDIT:

    Mhm, kann man auch dann iwas in diese Console, die in die Txt geparst wird, eingeben?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Krschy“ ()