sx264 (x -> mkv/mp4/m2ts/bluray) pre-Alpha-Testerthread

  • Aktuell werden keine Windowstester mehr gesucht, mit etwas Glück sollte in ca. 2 Wochen die erste offizielle Alpha fertig sein.

    Hätte da ein (noch recht einfaches) Tool um Material X nach x264 (mp4/mkv als container) zu konvertieren. Da man beim selber testen immer etwas übersieht würde ich mich freuen wenn der ein oder andere bereit wäre beim Testen zu helfen.

    Grundsätzlich wären dann folgende Fragen interessant:
    1. Was funktioniert nicht? (scheint aber so als sollte es gehen ;))
    2. Was für Features fehlen? (kann nichts versprechen)
    3. Was sollte generell geändert werden?

    Voraussetzung wäre nur ein installiertes "Microsoft Visual C++ 2008 Redistributable Package" und generelle Lust zu Testen. :)
    Ich würde Interessierten per PM einen Link zum Download eines fertigen Paketes zukommen lassen, in dem alle benötigten Dateien, außer dem Redistributable Package enthalten sind.

    Als kleine Anregung gibt es bei http://www.mediahump.com/image/113764/ eine kleine Gallery zu betrachten in die ich Screenshots der Oberfläche gepackt habe. (wobei die Screenshots nicht mehr ganz aktuell sind) :)

    Bekannte Fehlende Features:
    General Features:
    - show x264 command line
    - FileCheck check if ffmpeg/mencoder/mplayer/... are installed in the right version
    - minimize to system tray (Windows&Linux)
    - Icon unter Linux
    - find a way to remove maximize button and remove it (under windows)
    - Meldung bei Lagrinth Input, da weder ffmpeg noch mplayer es unterstützen. (LAGS)
    - MultiInputSource wieder zum Laufen bringen,...
    - m2ts overhead und filesize Berechnung
    - Batch encoding

    Audio Features:
    - add audio stretch (for mkv)
    - add stretch/shrink audio on reencode
    - ogg vorbis encoding (for mkv)
    - ac3 encoding (for mkv&m2ts)
    - multiple audio stream support

    DVD import:
    - find&insert chapter info into mkv/mp4/m2ts files

    Muxing Features:
    - add subtitle to mkv/mp4/m2ts
    - add timecodes (for vfr material)

    Bekannte Bugs:
    1. m2ts overhead calculation

    Bekannte Macken:
    1. Interlactes Material wird als progressiv erkannt, wenn im AvisynthSkript nicht explizit per AssumeBFF oder AssumeTFF die FieldOrder festgelegt wurde. (noch k.A. wie/ob ich das in avsInfo fixen kann)
    2. ...

    Bekannte Probleme mit anderen Anwendungen:
    1. Sobald der DivX Codec aktiviertem 'Yv12 Pass-Through' installiert ist, ist (zumindest bei mir) der Avisynth-Support kaputt.


    Später werde ich auch ein kleines Dokument schreiben, was:
    1. die Funktionen der einzelnen Optionen erläutert
    2. ein paar kleine Anleitungen enthält für Typische Beispiele

    Generell sind auch spezielle vorgefertigte Profile und auch ein Installer geplant, aber das kommt erst wenn sich bei den Features und der Stabilität nicht mehr viel tut.
    Das Tool basiert aktuell auf x264, mediaInfo, mencode, mplayer, ffmpeg und avsInfo.

    Zur allgemeinen Arbeitsweise:
    Läd man eine Quelle wird sie mit dem unter Misc ausgewählten Analyser analysiert, d.h. was steckt drinne, wie lang ist das file, welche Auflösung, Framerate hat es. Ist das erledigt kann man unter Filter eventuelle Filterung vornehmen (Preview-Button ist auch unter diesem Reiter) und per mplayer einen Preview öffnen, bei dem die Quelle mit der eingestellten Filterung wiedergegeben wird. Länge und Startpunkt der Vorschau kann man in der Preview Konfiguration einstellen, dort kann man später auch Xvid/x264 für die Kompressionsvorschau nehmen. Sind die Filtereinstellungen und die x264 Einstellungen (Advanced um erweiterte Einstellungen vorzunehmen) vorgenommen, startet man das Encoding.
    Ist eine Quelle http://de.wikipedia.org/wiki/Zeilensprungverfahren<acronym class="jgs_acronym_standart" title="Der Begriff Interlaced bedeutet in der Videotechnik auch Halbbilder. Jedes normale Videobild das von TV Sendern, von Video Recordern, DVD Playern etc. ausgegeben wird, besteht jeweils aus zwei Halbbildern die auf der Bildröhre zu einem ganzen Bild zusammengesetzt werden. Diese Technik ist schon sehr alt und wurde als Kompromiss eingeführt, weil in der TV Entstehungzeit die Videodaten noch nicht in genügend grosser Bandbreite übertragen werden konnten. Durch einen technischen Trick gelang es das Menschliche Auge zu überlisten. Normalerweise nimmt das Auge alles was unter 50 Bildwiederholungen pro Sekunde liegt, als Flimmern wahr. Somit hätte man ein PAL Fernsehbild mit 50Hz zu je 625 Zeilen (bei NTSC wären es 60Hz zu je 525 Zeilen gewesen) ausstrahlen müssen, was eine Zeilenfrequenz von 50*625 = 31.250Hz (=32kHz) ergibt. Dieses war technisch noch nicht möglich und auch die Röhrentechnik war noch nicht weit genug entwickelt um dieses zu Bewerkstelligen. Der Trick liegt nun darin, keine 50 Vollbilder pro Sekunde mit je 625 Zeilen zu übertragen, sondern nur 50 Halbbilder mit jeweils 312.5 Zeilen. Auf der Röhre zusammengesetzt ergibt dieses zwar nur 25 Vollbilder pro Sekunde, aber dadurch das 50 Halbbilder jeweils um eine Zeile versetzt auf die Bildröhre geschrieben werden, das Auge etwas träge ist und die Bildröhre entsprechend lange nachleuchtet, konnte man das Problem so umgehen und das Flimmern unterdrücken. Dadurch konnte die Zeilenfrequenz auf 50Hz x 312,5 Zeilen = 15.625Hz (=15kHz) gesenkt werden. Dieses Format wird auch 576i50 für PAL oder 480i60 für NTSC genannt um die gleichen Kennzeichnungen wie bei der Vollbildtechnik (Progressive Scan) auch bei der Halbbildtechnik (Interlaced) zu verwenden. Wie schon angedeutet besteht ein Halbbild besteht aus jeweils 312,5 Zeilen. Das erste Halbbild überträgt dabei die ungradzahligen Zeilen des ganzen Bildes 1 3 5 7 9 11 usw., das zweite Halbbild überträgt die gradzahligen Zeilen des ganzen Bildes 2 4 6 8 10 12 usw. Durch die ineinander Verzahnung auf der Bildröhre wird diese Technik auch Interlaced genannt."> interlaced</acronym>, man hat aber nicht unter Misc den Interlacing Support aktiviert, wird automatisch Deinterlaced. Bei mencoder als Decoder kann man hier einen Deinterlacer unter Filter auswählen, bei ffmpeg wird der ffmpeg Standarddeinterlacer (da gibt es nicht mehrere <- oder ich hab sie in der Doku nicht gefunden [Blockierte Grafik: http://www.movie2digital.de/images/m2d_Sty…milies/wink.gif] ) verwendet. Ist 2pass und Audiohandling aktiviert, wird sich erst um den Audiostream gekümmert und anschließend der Videostream mit neu berechneter Datenrate encoded.
    Ach ja, der interne BitrateCalculator ist meiner Erfahrung nach so +/- 0,5 MB daneben, weiß aber noch nicht so sicher war, denke aber auch wenn man es weiß ist es nicht soo tragisch. Also eventuell eine etwas kleinere Größe angeben. [Blockierte Grafik: http://www.movie2digital.de/images/m2d_Sty…milies/wink.gif
    Drückt man den 'Run'-Button wird der Encoding-Vorgang gestartet und man sieht an Hand der Status-Anzeigen (Balken+Text) wo der Encoder gerade steht. (Im Log Reiter sieht man auch die aktuelle Geschwindigkeit beim x264 Encoden usw.)

    Aktuell wird noch eine Debug.txt erstellt in die alles was im Log steht gespeichert ist, die könnt ihr ruhig öfter mal löschen (wird später Optional bzw. man wird eine Größe für das Log einstellen können), hat aber den Vorteil, dass selbst wenn das Tool abschmiert man eventuell noch rauskriegt warum.

    Je nach dem was für Probleme auftauchen werden, werde ich auch noch einiges mehr an möglichen Debug-Ausgaben aktivieren und einzelne Debug-Build erstellen.


    Cu Selur

    Ps.: Potenzielle Linux-Nutzer sind auch gerne gesehen, diese müssten dann aber die Tools auf denen die Gui aufbaut installieren und den SourceCode kompilieren. Würde dabei aber mit Ratschlägen und Anweisungen zur Seite zu stehen. :)

  • PM ist raus + hab gerade auch den ersten Bug gefunden:

    Verwendet man mcdeint crashed der Vorgang.
    Momentan sieht es allerdings so aus, als ob das nicht direkt an mir, sondern eher an MPlayer/Mencoder liegt, da es auch per Kommandozeile nicht klappt, mcdeint mit einem anderen Mode als 0 oder 1 aufzurufen ohne das der MPlayer crashed. :/
    -> gerade mal mit der neusten MPlayer Version von http://sourceforge.net/projects/mplayer-win32/ versucht, geht auch nicht. :(

    Cu Selur

    Ps.: Lade gleich mal eine aktualisiertes Paket hoch mit neuen MPlayer/Mencoder/FFMpeg Versionen, auch wenn sie den Bug nicht beheben :( -> neue PaketVersion ist oben (17:42)
    PPs.: Freue mich übrigens auch über kleine Fehler&Co-Medlungen, müsst also nicht erst irgendwie Sammeln und euch dann melden. :)

  • Lieber Selur,

    wenn Du Dein Programm änderst oder ein "Helperlein" könntest Du bitte eine MD5 Checksumme dokumentieren, damit jeder weis um was für eine Variante es sich handelt.? Leider gibt es kaum echte Versionsnummern und wie Du ja zb bei ffmpeg weißt, mionnen® von selbstgebauten. DANKE.

    ----------------------------------------------
    Frage: hast Du alle EXE/DLL selber mit UPX gepackt?

    ----------------------------------------------
    sx264.exe MD5=1c439d9d639dfd402572dcd86a5532e8

    Zitat

    Diese Anwendung konnte nicht gestartet werden, weil die Anwenungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren.

    evt. kannst Du die Fehlermeldung umschreiben, das das MVC Package nicht installiert wurde.

  • Zitat

    Frage: hast Du alle EXE/DLL selber mit UPX gepackt?

    Yup, hoffe das macht für keinen Probleme. :)

    Zitat

    evt. kannst Du die Fehlermeldung umschreiben, das das MVC Package nicht installiert wurde.

    Wüsste nicht wie, ist ne Windows Meldung, falls/wenn ich das Teil aber mal allgemein anbieten sollte kommt da noch ein Installer drumherum, der check ob alles da ist. ;)

    Cu Selur

    Ps.: MD5 kann ich demnächst auch angeben. Werde bei kleinen Änderungen auch nicht immer das komplette Paket ändern, sondern separate kleine Updates machen.

    PPs.: auf einer MPlayer Seite gefunden: "RTM means with runtime cpudetection." Kann also durchaus sein, dass das Problem nur bei mir bestand. :D

  • je nach Windowsbetriebssystem braucht man eventuell ein anderes:

    Microsoft Visual C++ 2008 Redistributable Package (x86) - 32bit
    http://www.microsoft.com/downloads/deta…&displaylang=en (Englisch)
    http://www.microsoft.com/downloads/deta…&displaylang=de (Deutsch)

    Microsoft Visual C++ 2008 Redistributable Package (x64) - 64bit
    http://www.microsoft.com/Downloads/deta…&displaylang=en (Englisch)
    http://www.microsoft.com/Downloads/deta…&displaylang=de (Deutsch)

    Werde ich in der Textdatei anmerken, musste ich bei mir nicht installieren da es mit Visual C++ 9.0 Express kam. ;)

    Cu Selur

  • Hallo Selur,

    zunächst einmal, großes Lob für die GUI - wirklich alles schön übersichtlich untergebracht. Ich habe gleich wirklich alles auf Anhieb dort gefunden, wo ich es gesucht habe -- und kein "Klicki-Bunti" sowie keine GUI-designtechnischen Finessen ala RipBot264! :) Hab hier nur ein bisschen verloren rumklicken müssen, da die Reihenfolge der Bilder ja nicht der Reihenfolge der Karteireiter entspricht, aber das nur nebenbei. :) Hätte auf jeden Fall große Lust, an Deinem Tool mitzuwirken, mitzutesten. :)

    Gleich zu Anfang schon ein paar Fragen bzw. Vorschläge dazu:

    1. Welche Art von "Input Files" werden unterstützt?

    2. Ist eine "Streamcopy" der Audiospur möglich (wenn unter "Audio" "Audio aus Quelle nicht reencoden" angehakt ist)?

    3. Was mich darüber hinaus fragen lässt, wie schaut es (ggf. zukünftig) mit mehreren Audio-Spuren aus (kann natürlich sein, dass die Frage sich gleich erledigt, je nachdem welcher Input unterstützt wird)?

    4. Unter "Misc" hast Du eine Option "BluRay kompatible" vorgesehen (kleiner Verbesserungsvorschlag: "Blu-Ray kompatibel"). Was hältst Du davon, hier anstelle dieser einzelnen Option einen Bereich "Kompatibilität" mit den beiden Punkten "Blu-Ray" und "DXVA" einzubauen?

    5. Wie wäre es mit einem weiteren Karteireiter für erweiterte Einstellungen, was das jeweilige Containerformat betrifft (z.B. Sprachen für Ton, Chapter file)

    So, das war's erstmal auf den ersten Blick. Endlich wieder mal ein aufgehender Stern am Horizont der MKV-Konverter - dafür schon mal vielen Dank! :)

  • Reihenfolge: mir ist später erst aufgefallen, dass sie nach Namen und nicht nach Reihenfolge des Uploads geordnet werden.

    zu 1.: alles was mencoder oder ffmpeg wiedergeben können, da diese zum Decoden verwendet werden. :)
    zu 2.: Ja, wobei aber je nach Container eventuelle Einschränkungen kommen. In .mp4 files nur mpeg- oder aac-Audio, in den mkv container kann man an sich alles übernehmen, was mkvmerge versteht. (eventuell wird aktuell noch manches abgelehnt, was dann daran liegt, dass ich vermutlich nicht alles kannte bzw. an alles gedacht habe)
    zu 3.: Multiple-Audio ist an sich angedacht, aber erst später, da ich erstmal das "Grundgerüst" stehen haben will :) -> schreib ich oben zu den fehlenden Features
    zu 4.: Typo wird behoben, DXVA gefällt mir gut, muss ich nur noch mal nachgucken, was dann alles erfüllt sein muss. :)
    zu 5.: Habe ich auch schon dran gedacht, wird sicher auch kommen. -> schreib ich oben zu den fehlenden Features

    Rudimentäre Blu-Ray Erstellung mit Hilfe von tsMuxeR wird wohl auch kommen, da ich gerade mit dem Gedanken spiele tsMuxeR auch zu integrieren um den Delay aus Transportstreams besser auslesen zu können

    Cu Selur

  • .avi Support und später eventuell noch andere Codecs schweben noch bei mir im Hinterkopf, hat aktuell noch keine Auswirkungen,.. -> werde ich mal entfernen, führt sonst vermutlich nur zu Verwirrung. :)
    (um genau zu sein hatte ich ganz am Anfang mal einen einfachne .avi support, entfernte diesen aber wieder)


  • zu 4.: Typo wird behoben, DXVA gefällt mir gut, muss ich nur noch mal nachgucken, was dann alles erfüllt sein muss. :)

    Kennst die Links wahrscheinlich schon, aber hier: :)

    x264 Known Hardware accelleration problems and solutions - Doom9's Forum
    x264 Encoding Options for Hardware Compatibility & DXVA - AVSForum

    sowie ggf. noch

    DXVA compatibility for software players thread - Doom9's Forum
    Media Player Classic Home Cinema - DXVA! - Doom9's Forum

    Und was H264/Xvid bzw. AVI betrifft, ja, sehe ich auch so. H264/MKV ist imho zur Zeit die bei weitem interessanteste Kombination. :)

Jetzt mitmachen!

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