Media Compressor für das SendTo-Menü

  • Hallo Allerseits,
    ich bastele an einem Batchscript was verschieden Kompressionsaufgaben übernehmen soll. Am besten eignet es sich das Script ins "SendTo" Menü (Windows Taste + R = shell:SendTo) von Windows zu kopieren. Anschließend kann man Audio Files, Video Files und Framesequencen per "senden an" komprimieren. Multiplexing von Audio und Video funktioniert auch. Standardmäßig werden Audio Files in mp3 komprimiert und Video Files/Framesequencen in mp4 x264/aac.

    Es werden zusätzlich die Tools ffmpeg, mp4box, avisynth und DevIL (für OpenEXR) benötigt. Beim ausführen des Scripts wird das auch noch mal abgefragt und gegeben falls wird ein Download gestartet.

    Wünsche und Tipps sind willkommen!

    https://github.com/jb-alvarado/ffmpeg-SendTo-BatchScript
    (Dafür ein Git zu erstellen ist vielleicht etwas übertrieben :), aber es einfach praktisch...)

    Grüße

    jb_

  • Zitat

    set "InstallPath=C:\cmdTools"

    konntest du keinen besseren ort finden?
    ich bastel meine scripte so, das der aktuelle ort des scriptes verwendet wird --> %~dp0

    wenn du andminrechte brauchst,z.b. für %ProgramFiles%,
    mein DriveSnapshot-script hat eine adminroutine eingebaut,
    mit failsafe wenn eine variante nicht funktioniert

    Zitat


    du kannst auch einmalig wget herunterladen lassen und rest automatisieren
    (mit einem entpacker wie 7-zip)
    sourceforge.net hat auch feste downloadadressen von den enzelnen mirrors...

    bei meinem MPack-script habe ich das mal umgesetzt,
    es ist aber ein altes script und nicht gerade sauber geschrieben :P


    nettes script viel spaß noch :D

  • konntest du keinen besseren ort finden?


    Ich arbeite sehr viel mit dem Ordner, daher ist das für mich der beste Platz. Aber hier kann sich ja jeder eintragen was er möchte.


    ich bastel meine scripte so, das der aktuelle ort des scriptes verwendet wird --> %~dp0


    Mir ist das zu unsicher, ich weiß ja nie wo das Script und die exe Files liegen, daher habe ich lieber komplette Pfade. Denke auch nicht, dass dadurch irgendwelche Nachteile entstehen, außer dass es nach deiner Methode schöne ausschaut.


    du kannst auch einmalig wget herunterladen lassen und rest automatisieren
    (mit einem entpacker wie 7-zip)


    Hatte ich sogar mal drin, aber auch wieder raus genommen, für den einmaligen Gebrauch wget zu verwenden fand ich nicht so sinnvoll. Generell mag ich den Gedanken schon, dann wäre fast alles automatisch. Mal sehen, wenn noch mehr den Wunsch haben, dann werde ich es wieder integrieren.


    nettes script viel spaß noch :D

    Danke schön :)

  • Habe mal wieder etwas weiter gebastelt. Die größten Änderungen sind: deinterlacing mit avisynth, level; maxrate und bufsize werden auflösensabhängig angepasst und es werden jetzt ein paar Infos, wie Auflösung, Länge und Scan Type ausgespuckt.

    Ich meine das mal versucht zu haben, dass ich nur die .dll zu ffmpeg gepackt habe, und das hat nicht funktioniert. libvo_aacenc ist erst mal raus geflogen, brauche aber noch eine neue Lösung, weil eben nicht jeder faac oder libfdk_aac mit compiliert hat.

    Werde wahrscheinlich doch noch WGet verwenden, nur habe ich noch keine Commandline Version von 7zip gefunden die nur als exe zum download angeboten wird. Was eben schon nötig wäre um alles automatisch zu machen. Auch gibt es avisynth MT und QTGMC nur über einen filehoster, was auch nicht geht. Werde mal versuchen die Verantwortlichen zu kontaktieren, ob ich die Files einfach auf meinem Webspace laden darf.

  • Zitat

    ein paar Infos, wie Auflösung, Länge und Scan Type


    Wie ermittelst Du den Scan Type? (mit MediaInfo über die Header, oder irgendwie cleverer?)
    -> okay hab in die Batch geguckt,.. (MediaInfo :()

    Zitat

    Werde mal versuchen die Verantwortlichen zu kontaktieren, ob ich die Files einfach auf meinem Webspace laden darf.


    So lange Du Dich an die entsprechenden Lizenzen hältst sollte es keine Probleme geben,...

    ---
    Anmerkung: den Avisynth Pfad solltest Du am sinnigsten auch in eine Variable am Anfang des Skripts packen,....

  • Was spricht denn gegen Media Info für den Scantype? 100%ig funktioniert es leider nicht, das ist mir auch schon aufgefallen. Das mit der Lizenz habe ich noch nicht ganz verstanden. Ich denke mal ich muss immer das Lizenzfile bei packen. Das wird bei der Commandline Version von 7zip schon schwierig, die würde ich ja gerne ungepackt auf meinem Webspace haben. Hm...oder ich mache einen self Installer daraus.

    Das mit dem Avisynth Pfad ist ne gute Idee, danke!

  • eine cmd version von 7-zip findest du in 7za*-paketen (7za.exe)
    leider habe auch ich nur eine *.zip gefunden.
    http://downloads.sourceforge.net/sevenzip/7za457.zip

    in den neueren 9.x versionen
    ist es in den 7z*_extra-paketen.
    http://downloads.sourceforge.net/sevenzip/7z922_extra.7z
    unglücklicherweise selbst in *.7z

    [edit:]
    http://sourceforge.net/projects/sevenzip/7za920.zip
    hab doch noch ein aktuelleres 7za*-paket gefunden,
    es scheint, besonders bei kleinen zwischenversionen, nicht bei allen versionen generiert zu werden
    v9.2.0 <--> v9.2.2

    man kann sich noch überlegen den installer zu nemen,
    und hoffen das er eine extrackt-funktion hat.
    man sollte auch die normale 7z.exe für cmd-aufgaben nehmen können,
    wie sich diese genau verhält, muss man aber vorher testen...

    [edit2:]
    der 7zip-installer ist ein Nullsoft-Installer (NSIS)
    damit kannst du den installer einfach entpacken

    Code
    7z922.exe /S /D=%cd%\bl a


    beachte: der pfad darf leerzeichen enthalten, aber man kann ihn nicht mit "Anführungszeichen" einklammern...

    es wird eine 7z.exe (ohne a) mitgeliefert, welche auch cmd aufgaben verarbeitet.
    wozu die "a"-version extra angeboten wird weis ich auch nicht... ^^

    ...have fun

    [edit3:]

    7za.exe = standalone version (ohne dll)

    7z.exe = braucht die 7z.dll (dadurch plugin-fähig)

    7zr.exe = standalone version mit redutzierten funktionen (nur .7z archive)

  • Zitat

    Was spricht denn gegen Media Info für den Scantype? 100%ig funktioniert es leider nicht, das ist mir auch schon aufgefallen.


    Genau, das spricht gegen die MediaInfo ScanType-Info. Kommentar war nicht gegen Dich gerichtet, hatte nur gedacht Du hättest da eventuell was selber gebastelt zur Erkennung da hätte mich interessiert wie Du das gemacht hast. :)

    Zitat

    Das mit der Lizenz habe ich noch nicht ganz verstanden.


    von wegen GPL&Co. :)

  • Hey das sind ja gute Neuigkeiten! Ich danke Dir HQ-LQ vielmals für deine Mühe! Habe die exe aus dem Installer mal kurz getestet und scheint zu funktionieren. Komisch, dass die sogar kleiner ist und man anscheinend nicht mal die dll braucht.

    Ja die Verweise zu den Lizenzseiten kenne ich ja - aber bis man sich da mal eingelesen hat :). Habe bis jetzt das immer so verstanden, dass man eben die Lizenz immer mit dazu packen muss. Bei Creative Commons ist das z.B. auch so.

    Grüße
    jb_

  • Hatte den SEt noch mal wegen avisynth.7z gefragt und zusätzlich habe ich noch die Lizenzfile beigepackt. Hoffe das passt jetzt so.

    Vielleicht mag das Script mal wer testen und mir Feedback geben? Habe das ganze jetzt so gelöst, dass die benötigten Tools mittels WGet geladen werden. Man braucht also nur einmal das Programm runter laden, ins Verzeichnis kopieren und alles andere geht automatisch. Fall jemand testen will:
    - Den Code als media_Compressor.bat abspeichern und per Doppelklick ausführen.
    - Den Anweisungen folgen.
    - Vor dem ersten Durchlauf vielleicht noch mal den Avisynth/Plugin Ordner sichern - gelöscht wird dort nix, aber vielleicht könnte was überschrieben werden.
    - Falls installiert, wird Avisynth 2.6 MT benötigt. Wenn Avisynth gar nicht installiert ist, wird es selbst installiert.
    - Es wird devIL.dll 1.7.8 benötigt, wenn die dll ganz fehlt wird auch diese selbst installiert.
    - Momentan geht als Installationspfad leider nur ein Pfad ohne Leerzeichen. Also am besten den drin lassen, der schon besteht. Werde das demnächst beheben.Et

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!