sx264 public alpha

  • Willkommen im sx264 Alpha-Thread.
    Hier geht es um die öffentlichen Alpha Versionen von sx264.
    Ja, d.h. das die Software sicher nicht perfekt ist und ein paar Macken haben wird, :D aber nur mit entsprechendem Feedback werden diese gefixed werden.

    Für Windows, hier nun eine Liste der Tools die sx264 im eigenen Verzeichnis erwartet um richtig zu funktionieren:
    ('kleines' Paket ist unter Downloads zu finden)

    0. nicht im Verzeichnis aber installiert sein sollte das Microsoft Visual C++ 2008 Redistributable Package.
    Je nach Windowsbetriebssystem braucht man das entsprechende Paket:
    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)

    1. x264.exe mit mp4/mkv output und hrd patch (z.B. von http://x264.nl/)
    2. MediaInfo - Kommandozeilenversion (http://sourceforge.net/project/showfi…ackage_id=90612)
    3. mkvmerge (+.dlls die es benötigt) aus dem mkvtoolnix Paket (z.B. von http://www.bunkus.org/videotools/mkv…ds.html#windows)
    4. mp4Box (http://kurtnoise.free.fr/mp4tools/)
    5. tsMuxeR (http://www.smlabs.net/tsmuxer_en.html)
    6. MPlayer und Mencoder (http://sourceforge.net/project/showfi…ckage_id=248631)
    7. FFMpeg (http://sourceforge.net/project/showfi…ckage_id=248632)
    8. NeroAacEnc (http://www.nero.com/eng/downloads-…o-aac-codec.php)
    9. vstrip_ifo (z.B. http://www.mediafire.com/?9rvft5eet1d <- css freie Version)
    10. avsInfo (beim sx264 Download dabei)
    11. sox (http://sourceforge.net/project/showfi…ackage_id=10619)
    12. SetPriority (http://gilchrist.ca/jeff/SetPriority/index.html)
    13. aktuelle sx264 Version (siehe untern unter Download)

    Damit sx264 funktioniert braucht man also folgende Dateien im sx264 Ordner:
    avsInfo.exe, cygz.dll, ffmpeg.exe, libcharset.dll, libebml.dll, libiconv.dll, libmatroska.dll, MediaInfo.dll, MediaInfo.exe, mencoder.exe, mkvmerge.exe, MP4Box.exe,

    mplayer.exe, neroAacEnc.exe, (falls x264 sie braucht: pthreadGC2.dll,) sox.exe, sx264.exe, tsMuxeR.exe, vStrip.dll, vstrip_ifo.exe, x264.exe

    Anmerkung für Vista User:
    Direkt nach dem ersten Start sollte man folgendes machen:
    1. in den 'Misc'-Reiter wechseln
    2. 'Show additional misc settings' aktivieren
    3. in den 'Misc 2'-Reiter wechseln
    4. Standardpfade setzen, so dass sie auch auf Verzeichnise zeigen auf denen man Schreibrechte hat (sx264 path, output path, temp path sollten hier gesetzt werden)
    5. in den 'Misc'-Reiter wechseln
    6. 'Show additional misc settings' deaktivieren
    7. 'Save Profile as Default'-einstellen

    Generelle Anmerkung: (für Windows&Linux User)
    Man sollte, beim ersten Start:
    1. in den 'Misc'-Reiter wechseln
    2. 'Show additional misc settings' aktivieren
    3. in den 'Misc 2'-Reiter wechseln
    4. den "Font Path" auf den System Font Ordner setzen
    5. in den 'Misc'-Reiter wechseln
    6. 'Show additional misc settings' deaktivieren
    7. 'Save Profile as Default'-einstellen


    Für Linux Nutzer:
    sx264 ist OpenSource und den SourceCode kann man unten unter Download herunterladen oder auf Anfrage mittels PM bei mir erhalten.
    sx264 Kompilieren: (wenn man nicht den binary build nutzt; siehe untern unter Download)
    0. Zum Kompilieren des Quelltextes muss eine aktuelle GCC Version und eine aktuelle qt-dev Version installiert sein. (Zum späteren Nutzen der Gui muss auch ein

    QT-Runtime Enviroment vorhanden sein, was aber vermutlich mit dem qt-dev Paketen mit installiert wird.)
    1. Download des Quelltextes (siehe untern unter Download)
    2. Entpacken des Quelltextes
    3. in der Konsole: wechseln in das SourceCode-Verzeichnis
    4. MakeFile erstellen: qmake sx264.pro
    5. sx264 kompilieren: make

    Um sx264 zu nutzen:
    Nach dem Kompilieren sx264 dahin kopieren wo man es gerne hätte (z.B. in den Binary Pfad für alle User: /usr/local) und sich gegebenenfalls Verknüpfungen erstellen.
    Da sx264 'nur' ein Graphischeoberfläche für andere Tools ist müssen im System folgende Tools, möglichst in der aktuellsten Version, so vorhanden sein, dass man direkt

    in der Console - ohne Pfad angaben - auf sie zugreifen kann.
    x264 (http://www.videolan.org/developers/x264.html)
    mplayer & mencoder (http://www.mplayerhq.hu/design7/dload.html)
    ffmpeg (http://ffmpeg.mplayerhq.hu/download.html)
    mediaInfo (http://sourceforge.net/project/showfi…ackage_id=90612)
    tsMuxeR (http://www.smlabs.net/tsmuxer_en.html)
    neroAacEnc (http://www.nero.com/eng/downloads-…o-aac-codec.php)
    mkvmerge (Teil von mkvtoolnix: )
    mp4box (Teil von gpac: http://www.bunkus.org/videotools/mkvtoolnix/downloads.html)
    lsdvd (http://sourceforge.net/project/showfiles.php?group_id=133848)
    Die meisten der Tools sollte man über die Paketverwaltung der Linuxdistribution finden können. Je nach dem ist es aber empfehlenswert zumindest x264 selber zu

    kompilieren.
    Bei Problemen kann man im Forum gerne einen Thread erstellen. :)
    Henrik ist auch dabei eine kleine Anleitung für Debian-Systeme zu schreiben, welche Anfängern unter anderen Systemen vielleicht auch etwas hilft.


    Zur allgemeinen Arbeitsweise:
    Läd man eine Quelle wird sie mit dem unter Misc ausgewählten Analyser analysiert, d.h. was steckt drinnen, 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. Sind die Filtereinstellungen und die x264 Einstellungen (Advanced um erweiterte Einstellungen vorzunehmen) vorgenommen, startet man das Encoding. Ist eine Quelle interlaced, 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 ) verwendet. Ist 2pass und Audiohandling aktiviert, wird sich erst um den Audiostream gekümmert und anschließend der Videostream mit neu berechneter Datenrate encoded. 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.)

    sx264 unterstützt DVD-Input nur wenn der entsprechende Haken gesetzt ist und die DVD unverschlüsselt auf der Platte liegt.


    Zu den generellen existierenden Features:
    1. Ausführliche Konfiguration der x264 Einstellungen (mit Abhängigkeitschecks)
    2. Tagging Support für mkv/mp4
    3. Chapter Support für mkv/mp4/bluRay
    4. Profile-Unterstützung
    5. Encode-Chapters (nur die Original-Chapter, !nicht selbst definierte!), Encode-Titles bei DVD-Input
    6. Encoding nur eines bestimmten Titels/Chapters einer DVD (nur die Original-Chapter, !nicht selbst definierte!)
    6. Job-Queue +( Job Control)
    7. aac/mp3 encoding mit mencoder/ffmpeg/neroAacEnc
    8. Filtering mittels Mencoder (+ erweiterte Resizemethoden)
    9. sollte alles umwandeln was MPlayer/ffmpeg wiedergeben können
    ... (einige kleine Features die nicht wirklich erwähnenswert erscheinen)


    Bei Featurewünschen:
    Featurewünsche höre ich mir gerne an (so fern sie hier gepostet werden), verspreche aber nichts. :)

    Schon genannte (bis dato) nicht umgesetzte Featurewünsche:
    (wie gesagt ich verspreche auch nicht, dass diese Features je implementiert werden)

    General Features:
    - show x264 command line
    - fileCheck check if ffmpeg/mencoder/mplayer/... are installed (+version check)
    - specify a separate paths for each tool
    - MultiInputSource -> SingleInputOutput
    - MultiInputSource -> MultiOutput (aka. batch encoding)
    - better m2ts - overhead/filesize calculation if needed (had no dts audio stream to test)
    - command line support
    - support for different languages

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

    Muxing Features:
    - add multiple subtitles to output
    - add timecodes (for vfr material)
    - multi audio support
    - import subtitles from external mkv/mp4 source
    - import chapters from external chapter file/mkv/mp4/dvd source


    Zu nicht existierenden, nicht bzw. definitv erst mal nicht, kommenden Features:
    Hier eine kleine Liste von Features über die ich zwar schon Nachgedacht, die ich aber aktuell in sx264 definitiv fehl am Platz finde:
    1. Erweiterter Avisynth-Support wie man ihn in MeGui+AvsP hat (vor allem weil Avisynth nicht nativ 'stabil' unter Linux läuft)
    2. Support für zusätzliche Container wie .avi, .mov, .3gp,.. (teilweise unsinnig und/oder die Overheadberechnung ist mir total unbekannt)
    3. Support für andere Encoder (sx264 ist gedacht als x264 Frontend)
    4. Direktes Auslesen von DVDs und anderem kopiergeschützem Material (!Copyright!)
    5. .ac3 Support innerhalb von .mp4 files (es existiert kein schöner Weg, siehe http://forum.gleitz.info/showpost.php?p=377688&postcount=6)
    6. vorbis Support innerhalb von .mp4 Files (geht zwar mit mp4box, ist aber nicht Standard konform)


    Bekannte Einschränkungen/Bugs:
    1. Design inherent: Quellen die nicht mit MPlayer/ffmpeg geöffnet werden können, können nicht verarbeitet werden
    2. Sobald der DivX Codec aktiviertem 'Yv12 Pass-Through' installiert ist, ist (zumindest bei mir) der Avisynth-Support kaputt.
    3. 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)


    Zur Lizenz:
    Der sx264-Sourcecode und eventuelle Binaries sind nur für Nutzungen in einem nicht-kommerzielle Umfeld kostenfrei!
    Von eventuellen Projekten die auf sx264-Code aufbauen wird evenfalls erwartet, dass sie Werbefrei, OpenSource und für nicht-kommerzielle Nutzung frei sind.
    -> bei Fragen&Unklarheiten bzgl. der Lizenz bitte ich um Rücksprache mit mir. :)


    Danksagungen:
    Hiermit möchte ich mich bei:
    1. allen Testern, Usern und sonstigen Leuten bedanken die mir Feedback gegeben haben und geben oder mir sonst irgendwie bei sx264 geholfen haben
    2. den Authoren der Tools die in sx264 verwendet werden


    Screenshots
    Bei http://www.mediahump.com/gallery/3457/ kann man ein paar Screenshots der sx264 Oberfläche sehen.


    Downloads
    sx264 Win32: http://www.selur.info/sx264/sx264_Alpha_rev573.zip
    sx264 Win64: http://www.selur.info/sx264/sx264_Alpha_rev573_64bit.zip
    sx264 Source: http://www.selur.info/sx264/sx264_AlphaSource_rev573.zip
    sx264 Linux32bit binary: http://www.selur.info/sx264/sx264_Alpha_rev573_binary.zip
    sx264 Linux64bit binary: http://www.selur.info/sx264/sx264_Al…4bit_binary.zip

    Nachdem ich jetzt die Lizenzen der einzelnen tools die ich verwende nachgelesen habe, hier ein 'kleines', fast komplettes Paket:
    http://www.multiupload.com/QMEUND4GN1
    (Dieses Paket wird nicht immer aktualisiert um die neuste Version von sx264 zu haben sollte man das Paket + die aktuellste Win32 Version nutzen.)
    Leider muss man selber noch manuell NeroAacEnc herunterladen und das Microsoft Visual C++ 2008 Redistributable Package installieren.

    Feedback&Co zu den Alpha.Versionen bitte möglichst in diesem Thread oder !im Notfall! per PM an mich.


    Viel Spaß und hoffentlich nicht viel Frust mit den AlphaVersionen von sx264. :)


    Cu Selur

    Ps.: Wenn es ein Update der Alpha-Versionen gibt werde ich in diesem Thread einen neuen Post erstellen und die sx264-Downloadlinks in diesem Beitrag editieren.

  • rev417
    *added*
    - Job History (Misc->Logging->Show job history)
    - to MediaInfo Analyser: if no framecount was found calculate framecount if fps and length are present

    *fixed*
    - typo when selecting x264->pulldown
    - making sure x264->pulldown can only be used when BluRay support is enabled

    *cosmetics*
    - changed some debug messages

    -> updated 1st post

  • Kleinere Bugs:

    Filter->Activate Resizing: Wenn man es einmal anmacht und die auflösung dort veränder, danach aber wieder deaktiviert wird trotzdem diese auflösung an die commandline übergeben.

    Die Pfade unter Misc2 speichert er bei mir nicht, liegt vielleicht daran, dass ich linux benutze....mhm...ne idee?

    Autocropping funzt bei mir nicht mit mplayer und ffmpeg funzt bei mir gar nicht, egal ob bei Analyser oder Decoder, da passiert nix!

    Preview geht nicht mit mplayer, die option -noconfig all erkennt er nicht!

    Deactivate Popup messages wird nicht mit im Profil gespeichert, muss ich jedes mal neu setzen und gut wäre, wenn er automatisch das letzte verwendete profil beim starten lädt!

    Wenn ich hier falsch poste sags mir bitte!

    P.S. Wie wäre es mit ein paar Prests für verschiedene Qualis?

    MFG

    Dark

  • Quote

    Filter->Activate Resizing: Wenn man es einmal anmacht und die auflösung dort veränder, danach aber wieder deaktiviert wird trotzdem diese auflösung an die commandline übergeben.


    Werde ich testen und gegebenenfalls fixen. Eigentlich sollte er die Auflösung wieder zurück setzen auf:
    1. Input Auflösung, falls Crop nicht gesetzt ist
    2. Auf die Crop-Werte

    Kannst Du mal bitte genau beschreiben, damit dieser Effekt auftritt, da ich ihn bei mir leider nicht nachstellen kann.


    Quote

    und ffmpeg funzt bei mir gar nicht, egal ob bei Analyser oder Decoder, da passiert nix!


    Notfalls mal Debugoutput aktivieren und gucken was im Debug File steht.
    Infos zu deinem System, dem Material was Du analysierst usw. wären hilfreich, ansonsten bringt mir die Meldung nichts.

    Quote

    Autocropping funzt bei mir nicht mit mplayer
    +
    Preview geht nicht mit mplayer, die option -noconfig all erkennt er nicht!


    Laut http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html sollte -noconfig existieren. Mal geschaut ob es nicht einen aktuelleren mplayer build für Dein System gibt? Macht bei mir weder unter Linux (Kubuntu) noch unter Windows Probleme.

    Quote

    Deactivate Popup messages wird nicht mit im Profil gespeichert, muss ich jedes mal neu setzen und gut wäre, wenn er automatisch das letzte verwendete profil beim starten lädt!


    Da es sich hier um Defaultpfade der Anwendung handelt werden diese nicht in normalen Profilen gespeichert, sondern in der config, welche man über Misc->Save Defaults speichert.

    Quote

    Wie wäre es mit ein paar Prests für verschiedene Qualis?


    Falls Du mit Presets , Profile meinst so wird es diese erst von meiner Seite erst geben, wenn sx264 nicht mehr Alpha ist, da aktuell noch die Chance zu hoch ist, dass ich noch einiges umbaue und sich dadurch eventuelle Struktren der Profile ändern. :)
    Hardgecodete Presets anders als über Profile wird es in sx264 nicht geben.

    Cu Selur

  • Ich hab Kubuntu Intrepid (8.10) und als quelle noch zusätzlich Medibuntu, die bieten eine mplayer no-gui an, die auch aktueller als die aus den normalen Ubuntu quellen ist!
    MPlayer selber compilieren ist beim letzten mal als ich das gemacht habe nicht so gut verlaufen, da liefen alle filme mit 2-facher Geschwindigkeit!
    Ich denke aber, dass die aktuelle MPlayer Version, die ich drauf habe aktuell genug sein müsste!

    Was ich teste ist BluRay Material von meinem Film, den ich zu meinem Geburtstag bekommen habe...

    Derzeit mach ich einen neuen Encode, kann daher im moment nicht testen....probiere es nach dem encode aus, dauert nur noch 1 1/2 Tage xD

    MFG

    Dark

  • Noch was, ich bau mir bevor ich encode immer die Aktuellste x264 version vom GIT...
    Ich bekomme da aber immer:
    x264 [warning]: VBV bitrate (62500) > level limit (50000)
    x264 [warning]: VBV buffer (78125) > level limit (62500)

    Is bei Profil High@4.1
    Wollts nur mal anmerken!

    P.S. Encode dauert noch 2 Tage lol...0.95 FPS....Pass 1

    MFG

    Dark

  • Wieso hast du eigentlich die crf Einstellung nicht mit aufgenommen in den GUI?
    Hab mir mal den Topic von damals angeschaut *g* Kam nix bei raus bei den vergleichen 2-pass crf?!

    Grüße Dark

  • Quote

    Wieso hast du eigentlich die crf Einstellung nicht mit aufgenommen in den GUI?


    constant quantization (1pass) = -qp
    average quantization (1pass) = -crf kann es aber demnächst nach 'constant ratefactor' umbenennen wenn es nicht klar ist. :)

    Quote

    Kam nix bei raus bei den vergleichen 2-pass crf?!


    Nutzt wohl keiner mehr, bzw. hat niemand wirklich interesse dran. :)
    (persönlich nutze ich i.d.R. normales 2pass encoding, da es bei mir fast immer auf die Dateigröße ankommt)

    Cu Selur

  • @offtopic

    Ja gut, aber wenn ich jetz z.B. die bitrate vorher festlege und 2-PAss benutze, dann könnte doch bestimmte bilder zu wenig bitrate bekommen oder verstehe ich das jetz falsch?

  • rev423
    *added*
    - 'parallel jobs' under Misc->Encoding defines how many jobs are processed parallel
    side notes:
    - if cpu usage is high enough for you when processing 1 at a time, stay with one job
    - at the moment only the progress of the job at the top is viewable

    *fixed*
    - small bug, always lower max refs by 1 whenever b-pyramid is enabled, see: http://forum.doom9.org/showthread.php?t=142758
    - fixed buffer values

    *updated*
    - sx264 and x264 version in windows 'complete' package

    -----

    Quote

    Ja gut, aber wenn ich jetz z.B. die bitrate vorher festlege und 2-PAss benutze, dann könnte doch bestimmte bilder zu wenig bitrate bekommen oder verstehe ich das jetz falsch?


    Jein.
    Bei crf und 2pass kann es immer auch Frames geben die unnötig viel oder zu wenig Datenrate bekommen, da gibt es keinen Weg dran vorbei.
    Bei crf&2pass ist immer das Problem, dass sie nur in einem bestimmten Bereich schwanken dürfen von einem Frame zum nächsten. -> es kann immer zu Overflows kommen.
    crf versucht wie auch constant quantizer eine konstante Qualität zu erhalten, anders als konstant Quantizer wird hier aber versucht die Quantizierung etwas and die Zieldatenrate anzupassen.
    2pass versucht die Datenrate möglichst effizient in einer GOP (Group of pictures) zu verteilen, ohne Datei gegen eventuelle VBV Beschränkungen zu verstoßen.

    Man sollte:
    crf nehmen, wenn einem die Zielgröße ziemlich egal ist.
    2pass nehmen, wenn einem die Zielgröße wichtig ist.
    Bei gleicher Dateigröße erzeugen crf&2pass qualitativ sehr ähnliche Ergebnisse. (je nach Quelle ist mal der eine, mal der andere bei einzelnen Frames besser)

    Cu Selur

  • okay, bleibt noch auto cropping usw.
    muss ich morgen mal testen, dann sollte der film durch sein, bin jetz bei 14% im 2ten Pass...

    ich sag schonmal soviel: input ist ein m2ts file und außer mediainfo war nichts in der lage die richtigen werte ganz am anfang von dem file auszulesen...

    Aber wie gesagt, ich probiers mal morgen...

    Grüße

    Dark

  • Quote

    input ist ein m2ts file und außer mediainfo war nichts in der lage die richtigen werte ganz am anfang von dem file auszulesen...


    Ja, kann ich bestätigen, je nach dem was im .m2ts container steckt ist mal MediaInfo mal MPlayer am besten. :)

    Hatte auch schon mal überlegt, einfach den Inptu mit allen Analysern zu analysieren und dann die Ergebnisse zusammen zu fügen. Problem daran ist aber, dass teilweise andere Ergebnisse bzgl. Länge&Co rauskommen und ich deshalb erst mal beim manuellen Wechseln bleibe. :)

    AutoCrop Probleme liegen wie schong esagt i.d.R. entweder an der MPlayer version (wobei Du da wohl die gleiche nimmst wie ich; Mediabuntu) oder an der Einstellung der Thresholds. 24 ist da zwar beim meisten Material was ich hier habe der sinnigste Wert gewesen, manches Material wurde aber nur bei z.B. 60 richtig gecroppt. ;)
    Wenn alle Stricke reißen wäre es gut wenn Du einen kleinen Ausschnitt des Materials zur Verfügung stellen könntest, damit ich das hier nachstellen kann, da AutoCrop an sich bei mir keine Probleme macht.


    Cu Selur

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!