DivX-Encoding automatisieren

  • Hallo,

    nachdem die ffmpeg-spezifische Frage leider nicht weitergeholfen hat, verallgemeinere ich mal mein Anliegen:

    Momentan nutzen wir zum Encoding u.a. ffmpeg, welches sich ja mit Command line steuern lässt. Der Workflow sieht, kurz umrissen, so aus:

    1. wir legen eine xml, die die Encodinganweisung enthält(Pfad zum Source, Target sowie Encodingparameer) in einem Startordner ab
    2. ein Bashscript interpretiert diese xml und führt entsprechend das Kommando aus

    Statt ffmpeg möchte ich nun gerne ein anderes Tool nutzen. Ich habe gesehen, dass bspw. VirtualDubMod über Command Line ausführbar ist. Die Parameter müssten dazu in einer Scriptdatei angelegt werden. Man kann aus VirtualDub oder *DubMod diese Datei speichern. Leider passiert nichts, wenn ich dieses Script per Command Line starte bzw. es kommen Fehlermeldungen.

    Kennt sich jemand damit aus ODER kann ein anderes Tool empfehlen?

  • "bash" klingt so nach Linux ... bei euch läuft es vermutlich unter cygwin? Oder VirtualDub via WINE?

    Unter Windows wäre auch AVS2AVI möglich. Hier könnte man wohl den DivX-VfW-Codec nutzen, um evtl. in Echtzeit generierte AviSynth-Skripte zu konvertieren. Soweit ich weiß, lassen sich Codec-Parameter vorab als Konfigurationsdateien speichern und später für den Encodierungsvorgang laden, aber die dafür nötigen Kommandozeilen-Parameter würde ich jetzt nicht ohne Probieren hinkriegen...

  • Kannst du das etwas genauer beschreiben? Mit Avisynth haben wir noch nicht gearbeitet.

    VirtualDubMod haben wir bisher auch nur vorab unter Windows ausprobiert.

    Cygwin nutzen wir nicht.

  • An Quelleformaten haben wir eine ganze Reihe. Hauptsächlich sollten folgende encodet werden können:

    1) MPEG2 (PS und TS):

    - sowohl VBR als auch CBR
    - PAL und NTSC
    - gerippte DVDs, HD-Transportstreams evt. auch
    - Audio: AC3, mpeg2, PCM

    2) Quicktime (Final Cut):

    - captured Material
    - DVPAL50, optional DVCPROHD

  • Wie ich bis dato an solche Projekte herangegangen bin: (schon mal so eine Lösung erstellt und die meisten GUIs arbeiten intern analog)
    1. Input Material analysieren (MediaInfo und MPlayer) sind hier interessant
    2. Ausgabe 'Profil' festlegen (Auflösung, Framerate,..)
    3. Decoder- und Filteraufrufe erzeugen
    4. Encoderaufrufe erzeugen
    5. eventuelle Multiplexing- und Nachbearbeitsungsaufrufe (Tagging, DRM hinzufügen, in Datenbank einfügen, usw.) erzeugen
    6. Ergebnisse aus 3-6 zusammen mit Metadaten wie Pfade des Ziel, Temp und Inputs in eine xml Datei packen und an den EncodingClient schicken der aktuell nichts zu tun hat, bzw. zur Liste der abzuarbeitenden Jobs packen.

    Anmerkung:
    Wenn man DivX DRM nutzen will/muss (und nicht z.B. einen Adobe Streamingserver mit der dort vorhandenen DRM Lösung nutzen will/kann). Bleibt einem nichts anderes übrig als a. direkt auf eventuelle DivX eigene Lösungen zurückzugreifen (http://www.divx.com/en/partner/con…ensing-platform) <- ist den meisten Leuten die ich kenne zu teuer oder zumindest mit DivX in Kontakt zu treten, ob sie nicht einen CommandLine Encoder a la xvid_encraw haben, der Input mittels stdIn akzeptiert und DRM geschützte Files erzeugt.

    Cu Selur


  • Man kann aus VirtualDub oder *DubMod diese Datei speichern. Leider passiert nichts, wenn ich dieses Script per Command Line starte bzw. es kommen Fehlermeldungen.

    Also Virtualdubmod kenne ich nicht so. Aber bei Virtualdub startete man die Scripte mit vdub.exe /s script.vcf. Und nicht mit Virtualdub.exe, wie man vielleicht zuerst annimmt.

    mfg,
    Monarc

  • Mit welcher Software würdest du das umsetzen?

    Für das DRM haben wir schon einen Workflow.

  • Software:
    zum Decodieren: FFmpeg, MPLayer, mencoder, tsmuxer (zum Extrahieren)
    zum Encodieren:
    video: xvid_encraw, x264, oder halt ein anderer Encoder der Input mittels stdIn annimmt.
    audio: mencoder, ffmpeg, mplayer, oder halt ein anderer Encoder der Input mittels stdIn annimmt.
    zum Multiplexen: mp4box, tsmuxer, mkvmerge je nach dem welcher Container gewünscht ist
    den Rest kann man an sich mit jeder beliebigen Scriptsprache lösen die einem erlaubt Commandozeilentools aufzurufen und stdOut/stdErr Ausgaben abzufragen. In sx264&Co verwende ich i.d.R. C++ mit dem Qt Framework, eine Firma für die ich gejobbed habe hat das Ganze für sich in php realisiert.

    Außer den Lösungen von DivX und Adobe wüsste ich spontan keine fertige Softwarelösung, ist aber wie gesagt auch nicht so wild und wenn man jemanden hat der sich mit einer Sprache ordentlich auskennt und sich noch etwas KnowHow sucht (wie müssen CommandLine Aufrufe aussehen usw. ist das eigentlich auch recht einfach selber zu bewerkstelligen)

    Cu Selur

  • Txh, leider brauchen wir astreines DivX, da wir das DivX DRM nutzen wollen. Mit unserem bisherigen Encoder funktioniert es leider nicht.
    Deine Beschreibungen klingen leider auch so, als ob DivX diese nicht akzeptieren wird.

  • Das Problem wäre das einem ein DivX Command Line Encoder fehlt, für DivX H.264 gibt es einen aber für DivX MPEG-4 ASP wüsste ich keinen, da müsste man bei DivX nachfragen. (gehe auch stark davon aus, dass die einen haben)
    Zum Multiplexen sollte man vermutlich DivXMux aus dem DivX SDK verwenden: http://download.divx.com/labs/DivXMediaFormat_SDK_r2.rar
    (also mit DivXMux Multiplexen und mit DMFCheck testen lassen)
    Habt ihr mal versucht einen Xvid raw stream damit zu Multiplexen und in euren DRM Workflow einzubinden?

    Cu Selur

    Ps.: kleine Frage bzgl. dem DivX DRM schützt das mittlerweile auch den Audiostream? Vor ein paar Jahren war es noch so, dass der Audiostream nicht geschützt war und mit einem normalen avi demuxer extrahiert werden konnte,..

  • für DivX H.264 gibt es einen

    Kannst du mir einen nennen?


    Ps.: kleine Frage bzgl. dem DivX DRM schützt das mittlerweile auch den Audiostream? Vor ein paar Jahren war es noch so, dass der Audiostream nicht geschützt war und mit einem normalen avi demuxer extrahiert werden konnte,..

    Das muss ich mal testen.

  • Zitat

    Kannst du mir einen nennen?

    Zitat

    Downloading DivX Plus HD H.264 Encoder Beta 2
    To download this beta you need to create a free DivX Labs account then join the Project Rémoulade Apps group. Downloads for Project Rémoulade are available at the top of the group homepage for signed-in members.


    siehe: http://labs.divx.com/node/11681

    Cu Selur

Jetzt mitmachen!

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