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

  • Grumpf jetzt geht das Deinterlacen mit mcdeint mit meiner mplayer Version wieder nicht, dachte das wäre durch die RTM Version gefixed, scheint aber nicht so zu sein,... :(

    Code
    mplayer -nosound -vf yadif=1,mcdeint=3:1 "cropTest.mpg"

    cashed wieder oder immer noch,.. :( (k.A. woran es liegt, da es aber auch per ComamndLine zu dem Problem kommt liegt es irgendwie am MPlayer)

  • Mit mcdeint ohne Parameter funktionierts. ich glaube ich brauche einen schnelleren Rechner :)
    Als Deinterlacer benutze ich pp=fd ist schnell und gut, ist glaube ich ein guter
    Kompromiß aus Geschwindigkeit und Qualität.

  • mcdeint ohne Parameter ist das gleiche wie mcdeint mit 1
    "pp=fd" <- erzähl mir mehr :)

    Cu Selur

    Ps.: Jetzt kann man über eine 'DXVA - Playback'-CheckBox auch Checks bzgl. DXVA aktivieren.
    Es wird gecheckt:
    1. mod16 für Breite und Höhe
    2. width*height*max references <= 8355840 für Auflösungen mit mehr Pixeln als 720x576
    3. width*height*max references <= 4561920 für Auflösungen mit weniger oder genau 720x576 Pixeln
    im DXVA-Thread wurde zwar noch angemerkt, dass nur bestimmte PARs gehen, habe dafür keinen Check reingepackt, da ich da noch auf Feedback von mehr Leuten warte. :)

  • Also bei mir funktioniert hier nichts :(

    sx264.exe MD5=232f8f4ea639bffa3f3b68fa13a342ae

    Quelle ist ein AVISynth:

    Code
    SetMemoryMax(64)SetWorkingDir("L:\Doom9\Selur\_SOURCEN")video=AVISOURCE("_t37958.avi",false)audio=WAVSOURCE("audiofinal.wav")AudioDub(video,audio)

    alles bleibt hängen und ich habe ~50% CPU Auslastung. Leider funktioniert der Button [kill encoding] nicht und somit muß ich extern die "Helper" beenden.

    OK FALSCH

    FfmpegAnalyser:

    Code
    ---- level_valueChanged ---currentMinLevel: -1lForInput: FfmpegAnalyser analyses: L:\Doom9\Selur\_SOURCEN\t37958.avsAnalysing audio&videosetting: video_length to 0:01:09.60setting: video_format to yuv420psetting: video_width to [B][COLOR='#0000ff']704[/COLOR][/B]setting: video_height to [B][COLOR='#0000ff']384[/COLOR][/B]setting: video_fps to [B][COLOR='#ff0000']28.971[/COLOR][/B]setting: video_framecount to 2017setting: audio_format to [B][COLOR='#0000ff']pcm_s24le[/COLOR][/B]setting: audio_samplerate to [B][COLOR='#0000ff']48000[/COLOR][/B]setting: audio_channels to [B][COLOR='#0000ff']stereo[/COLOR][/B]setting: audio_bitrate to 2304cropLine:mplayer "L:\Doom9\Selur\_SOURCEN\t37958.avs" -ss 34 -endpos 1 -vf cropdetect=24:2-nosound -vo null -ao nullVideo minlevel changed to: 7video_minLevel: 7Analyse finished!

    oder anderer

    Code
    AVSAnalyser analyses: L:\Doom9\Selur\_SOURCEN\t37958.avsAnalysing audio&videoanalysing video data:setting: video_width to  [B][COLOR='#0000ff']704[/COLOR][/B]setting: video_height to [B][COLOR='#0000ff']384[/COLOR][/B]setting: video_fps to [B][COLOR='#0000ff']29.97[/COLOR][/B]setting: video_framecount to 2086setting: video_length to 69.6029setting: video_aspectRatio to 1setting: video_interlace to PROanalysing audio data:setting: audio_format to pcmsetting: audio_samplerate to [B][COLOR='#0000ff']48000[/COLOR][/B]setting: audio_channels to  [B][COLOR='#0000ff']2[/COLOR][/B]setting: audio_bitrate to 1536setting: audioDelay to 0cropLine:mplayer "L:\Doom9\Selur\_SOURCEN\t37958.avs" -ss 0 -endpos 1 -vf cropdetect=24:2-nosound -vo null -ao nullVideo minlevel changed to: 7video_minLevel: 7Analyse finished!setting: cropWidth to 704setting: cropHeight to [B][COLOR='#ff0000']336[/COLOR][/B]setting: cropXpos to 0setting: cropYpos to 0-- cropdected finished --

    -------------------------------------------
    hier mal das _t37958.avi direct geladen:

    Code
    Bit rate             : 30 MbpsWidth                : 704 pixelsHeight               : 384 pixelsFrame rate           : 29.970 fpsBits/(Pixel*Frame)   : 3.683Frames               : [B][COLOR='Blue']2086[/COLOR][/B] (0:01:09.603)

    Warum will der überhaupt croppen? Das Video von 704x384 will ich doch einfach umwandeln.


    -------------------------------------------
    auch wenn ich Dein Programm normal beende, bleiben die Helper Programme im Hintergrund öffen :(

    -------------------------------------------
    solange Dein Programm den Alpha Status nicht verlassen hat, könntest Du die Helper Programme bitte sichtbar starten?

  • Hmm...

    http://forum.doom9.org/showthread.php?t=139634

    Zitat von Dark Shikari

    This is just the beginning of a major project... expect to see some rather interesting x264-related bits over the next few weeks. Among other things, I have plans for a DivX-like simple GUI to bring x264 down to the idiot-proof level

  • Redfox: Ja, hab ich auch gelesen gehabt, persönlich weiß ich noch nicht ob ich die Idee von Dark Shikari gut finden soll. Einerseits wäre eine 'offizielle' GUI sicher nett, andererseits leistet er meiner Ansicht nach an anderen Ecken im x264-Project bessere Arbeit und außerdem finde ich es an sich auch nicht schlecht, wenn die Leute die GUIs unterschiedlich gestalten. :)

    katjarella:
    Danke für den Feedback! :)
    Das [kill encoding] nicht geht ist definitv ein Bug.
    Mit dem .avs handling geht auch noch irgendetwas schief und eigentlich sollte er auch nicht croppen, wenn nicht der AutoCrop aktiviert ist.
    -> mache mich an die Arbeit und suche die Ursachen für die Bugs. :)

    Cu Selur

  • "setting: video_framecount to 2016.5" -> gefixed: Klammerfehler im MPlayerAnalyser
    Das die falsche Framezahl erkannt wird ist ein Folgefehler, da die Framerate falsch erkannt wird.

    "FfmpegAnalyser analyses: L:\Doom9\Selur\_SOURCEN\t37958.avs"
    -> gefixed: bei .avs Input wird immer der AVS Analyser verwendet (war ein Fehler der sich aufgrund einer Umstruckturierung eingeschlichen hatte)

    Zitat

    Warum will der überhaupt croppen? Das Video von 704x384 will ich doch einfach umwandeln.


    Das dort AutoCrop ausgewertet wird hat, wenn Du Crop, nicht aktiviert hast keine Auswirkungen, sondern war eher als Feature gedacht. :)
    sx264 ermittelt nach der Analyse einer Source direkt AutoCrop-Werte und trägt diese als potenzielle CropWerte ein, welche aber nur bei Aktivierung von Crop genutzt werden. :)
    Wenn es allerdings zu sehr stört, kann ich dieses Verhalten auch deaktivieren.

    Das der MPLayer Analyser eine falsche Framerate&Length erkennt ist allerdings doof, da werde ich noch etwas testen müssen und eventuell einen Fallback schreiben müssen.

    Neue Version kommt gleich per PM.

    Cu Selur


  • Das dort AutoCrop *** Wenn es allerdings zu sehr stört, kann ich dieses Verhalten auch deaktivieren.


    mich stört das sehr :)

    Anbei mal ne neue Log, wo am Ende garnix rauskommt :(


    1: AudioEncoding with: ffmpeg kann nicht funktionieren, weil dort die AAC Codec angabe fehlt.

    2: bei Decoder command line: warum gibts dort die Angabe -deinterlace wenn ich garnicht deinterlace angemacht habe?

    3: Resizing: wenn ich ein Profil erstelle und dort Resizing nach 512x288 mache, das Video lade ist dort auf einmal die Quellauflösung drin!?

    ------------------------------------
    Was ich auch nicht versteh.... Wenn ich ein Video lade, kommt fast immer:

    video_aspectRatio is missing! > Setting to 1.0

    wenn im Video das Audio fehlt > kommen div. Fehlermeldungen... und trotzdem wird das Video bei separater Audiostream reingelegt.

  • zu 1.: sollte auch nicht nötig sein, da ffmpeg anhand der Dateiendung aac wählen sollte


    VORSICHT: Davon darfst Du NICHT mehr ausgehen!!! Du mußt bei ffmpeg explizit alles angeben, glaube mir. Neuere Builds ( wie zb svn 14277 ) unterstützen schon H264/AAC im FLV Kleid :) < sehr große Freude

  • Zum Croppen benutze ich den Befehl.
    mencoder.exe -nosound -ovc lavc -vf cropdetect=24:2,scale=76:44 -o NUL -ss 10 "Video.mpg"

    Eine Schleife Programmieren die Mencoder beendet, funktioniert schnell und ist recht zuverlässig.

    Interesannt ist auch der Befehl -sstep, funktioniert leider nicht mit jeden Video.
    Mplayer "Video.mpg" -vf cropdetect=24:2 -nosound -vo null -frames 600 -sstep 10

    Eine PM mit dem Link währe nett, warum so geheimnisvoll ? :)

  • katjarella: Werde ich noch einfügen, beim nächsten build, per PM kommt erst mal ein build in dem das .avs Handling besser sein sollte und sonst noch ein paar kleine Bugs behoben worden sind.

    MegaDeath: PM kommt gleich. Nicht geheimnisvoll, aber so ist es übersichtlicher wer Feedback gibt. :) Das mit steps hatte ich anfangs, aber gerade weil es öfter nicht klappt wieder rausgeworfen.

    Cu Selur

  • sx264 MD5=db285798f6de9924220b8c5277d24688

    1: AVS Analyse funktioniert immer nocht nicht, daran ist aber diese komische avsinfo.exe schuld > bleibt hängen.

    2: ffmpeg als Decoder funktioniert nicht immer, weil nicht geprüft wird, ob er die Quelle auch versteht. ( ffmpeg -i quelle und ffmpeg -format )

    ------------------------------------------------
    Irgendwie funktionierts bei mir überhaupt nicht. ich verwende eigentlich nur einfache AVSScripte, die vorher geprüft werden und nur AVISource/WAVSource drin haben. Oder die Quellen ( AVI; Lossless=LAGS und WAV; Losssless=PCM/FLAG) direkt.

    Gerade den mencoder als Decoder > schau Dir mal die Zeit an :)

    ------------------------------------------------
    wenn ich einen Helper unsauber beenden muß, werden einfach die nachfolgenden Arbeitsschritte durchgeführt. Keine Prüfung ob es vorhanden, 0Byte oder überhaupt OK ist. Alles wird als Erfolgsmeldung gefeiert. < Bitte verzeih meinen Sarkassmus, aber das ist halt Typisch Mencoder, ffmpeg, Linux und Commandline Tools, dafür kannst ja nix :)


    ------------------------------------------------
    zur Übersichtlichkeit: Bitte ändere mal das ganze Projekt...
    1: alle Helperprogramme in einen Unterordner BIN.
    2: Einstellungen/Profile am besten unter Profile
    3: alle aufgerufenen Fenster möchte ich sehen: NIX verstecken, zu min. solange hier das Alpha/Beta ist.

    DANKE

  • .avs hab ich nie so intensiv getestet :)

    Zitat

    zur Übersichtlichkeit: Bitte ändere mal das ganze Projekt...

    zu 1&2: kommt später, da handelt es sich im wesentlichen nur um Aufräumerrei, welche für mich aktuell eher hinderlich ist.
    zu 3.: ich versteckte eigentlich nichts um es zu verstecken, sondern im Gegenteil müsste ich eventuelle Anzeigen extra ausgeben. -> wenn Du eine bestimmte Anzeige sehen willst, wäre es hilfreich, wenn Du sie benennen würdest.

    Zitat

    AVS Analyse funktioniert immer nocht nicht, daran ist aber diese komische avsinfo.exe schuld > bleibt hängen.

    Strange, ist bei mir noch nie passiert, werde ich aber anchecken. Passiert das hängenbleiben auch, wenn Du avsinfo "Pfad zur Quelle" per Hand aufrufst?

    Das mit der Zeit war nicht unerwartet, da ich da etwas am Basteln bin, ist vermutlich eine Folgeerscheinung, wenn die Länge nicht richtig erkannt wurde. -> da werde ich heute abend testen. :)


    Zitat

    wenn ich einen Helper unsauber beenden muß, werden einfach die nachfolgenden Arbeitsschritte durchgeführt.

    Auf welchen Helper beziehst Du Dich in welchem Kontext, die Aussage als solche hilft leider nicht.
    Sehe auch gerade, dass da noch ein Fehler im AudioHandling ist, bei dem ein Crash nicht ordentlich gehandhabt wird. -> werde ich testen

    Zitat

    Keine Prüfung ob es vorhanden, 0Byte oder überhaupt OK ist. Alles wird als Erfolgsmeldung gefeiert

    Hier wird eigentlich nix gefeiert, außer gefundene Bugs. :)

    Zitat

    ffmpeg als Decoder funktioniert nicht immer, weil nicht geprüft wird, ob er die Quelle auch versteht. ( ffmpeg -i quelle und ffmpeg -format )

    Auch merkwürdig, da Du ja meintest Du nutzt AvisynthSkripte und die funktionieren bei mir eigentlich bis dato mit ffmpeg recht gut, soweit ich es sehe greift es auf diese wie auf ein .avi zu, was ja gehen sollte.

    Cu Selur

    Ps.: Was ich witzig finde, ist dass bei Dir die Färbung des Vortschrittbalkens anscheinend geht, bei mir ändert er sich nicht. :(

  • zu 3.: ich versteckte eigentlich nichts um es zu verstecken, sondern im Gegenteil müsste ich eventuelle Anzeigen extra ausgeben. -> wenn Du eine bestimmte Anzeige sehen willst, wäre es hilfreich, wenn Du sie benennen würdest.


    Naja Mencoder/ffmpeg etc werden versteckt aufgerufen. Würde dort gerne die Ausgaben sehen, denn erst dann kann man prüfen, ob es auch richtig gemacht wird. Die Commandline sehe ich in Deiner Ausgabe, ProcessMonitor und im ProcessGuard.

    Passiert das hängenbleiben auch, wenn Du avsinfo "Pfad zur Quelle" per Hand aufrufst?


    JA...

    Code
    avsinfo.exe TVSFS2007HD.avsTVSFS2007HD.avs: Aufloesung: 1280x720, Framerate: 30000/1001 fps, Laenge: 2086 Frames, PROAudio: Samplerate: 48000 Hz, Anzahl an Channels: 2[COLOR='Red']Nur Yv12 Input wird unterst³tzt![/COLOR]


    aja na da schau her, wenn avsinfo nicht versteckt aufgerufen würde, hätte ichs gesehen. AVS geändert: ConvertToYV12(). aber bleibt trotzdem hängen. :(

    hier mal per FFMPEG:



    Auf welchen Helper beziehst Du Dich in welchem Kontext, die Aussage als solche hilft leider nicht.


    Als "Helper" bezeichne ich alle Deine Unterprogramme ( avsinfo, ffmpeg, mencoder usw )

    Sehe auch gerade, dass da noch ein Fehler im AudioHandling ist, bei dem ein Crash nicht ordentlich gehandhabt wird. -> werde ich testen....


    Es muß auf jeden Fall eine Art Errorhändling rein. Ich weiß das ffmpeg/mencoder etc keine sauberen Fehlercodes liefern. Deshalb muß man halt selber in die Ausgaben schaun, das Ergebniss auf Fehler prüfen. Wie genau: puhhhhhh :(

    Auch merkwürdig, da Du ja meintest Du nutzt AvisynthSkripte und die funktionieren bei mir eigentlich bis dato mit ffmpeg recht gut, soweit ich es sehe greift es auf diese wie auf ein .avi zu, was ja gehen sollte.


    Wenn ich ffmpeg als Decoder/Encoder in einer normalen DOS Box nutze funktioniert es ja auch. Ich muß aber mal selber testen, was bei dieser Umleitungsaktion, welche Du hier nutzt passiert. Quelle > ffmpeg/mencoder > Encoder.

  • Das Problem mit deinen AvsSkripten ist in erster Hinsicht das AudioHandling. :)
    Das er bei nicht Yv12 Input hängen bleibt ein Versäumnis von mir, dass er Trotz ConvertToY12() hängen bleibt kann ich hier bis dato leider nicht nachstellen. :)

    Nochmal zur Klärung wegen den Ausgaben:
    Ich verstecke die nicht, sondern ich muss sie extra anzeigen lassen, wenn ich die Tools per CommandLine aufrufe, werden eventuelle Ausgaben von ihnen erstmal an mich weitergeleitet (was nicht an meinem Code liegt ;)) und ich müsste sie gegebenenfalls Weiterleiten, dies wird aber sehr unübersichtlich, wenn teilweise mehrere Tools parallel arbeiten, wie z.B. beim Encoden von irgendetwas. Werde ich die Tage aber draufschauen.

    Das aktuelle Problem liegt beim Audio&Video-Handling von .avs Scripten, dem ich mich heute Abend widmen werde.

    Cu Selur

  • Das Problem mit deinen AvsSkripten ist in erster Hinsicht das AudioHandling. :)
    Das er bei nicht Yv12 Input hängen bleibt ein Versäumnis von mir, dass er Trotz ConvertToY12() hängen bleibt kann ich hier bis dato leider nicht nachstellen. :)

    Code
    FFmpeg-svn-14277.exe -i TVSFS2007HD.avsFFmpeg version Sherpya-r14277, Copyright (c) 2000-2008 Fabrice Bellard, et al.  libavutil version: 49.7.0  libavcodec version: 51.60.0  libavformat version: 52.17.0  libavdevice version: 52.0.0  built on Jul 18 2008 11:12:48, gcc: 4.2.4 [Sherpya]Input #0, avs, from 'TVSFS2007HD.avs':  Duration: 00:01:09.60, start: 0.000000, bitrate: 0 kb/s    Stream #0.0: Video: rawvideo, yuv420p, 1280x720, 331444 kb/s, 29.97 tb(r)Must supply at least one output file


    Alles OK!

    Code
    avsinfo.exe TVSFS2007HD.avs
    TVSFS2007HD.avs:
     Aufloesung: 1280x720, Framerate: 30000/1001 fps, Laenge: 2086 Frames, PRO


    bleibt hängen! Ergo ist die avsinfo Schrott. Wo hast Du die her?

    Ich würde das anders machen... Ein AVSScript schreiben, welches per AVISource die Quell.avs ließt. Dort kommen dann die gewünschen Clip Properties Abfragen rein und per WriteFile in eine ausgabe Datei rein, welche man Analysieren kann. Kommt es zu einem Fehler, ist die Quell.avs schon Fehlerhaft und ein besseres Parsing kann man dann ja nicht haben.

    gleich mal selber was bauen :)

  • "Wo hast Du die her?" -> selber geschrieben vor ner Weile, siehe: http://forum.gleitz.info/showthread.php?t=35833 :D

    Zitat

    Ich würde das anders machen...


    Wobei mich interessieren würde wie Du das Ganze dann gut unter Linux zum Laufen bringst, nicht vergessen, eines meiner Ziele ist unter Linux und Windows damit zu arbeiten. :)

    Wie gesagt, muss das Ganze .avs handling noch mal antesten und werde dabei auch noch mal etwas mit avsinfo testen. Hast Du eventuell ein kleines Skript + Quelle bei der avsinfo einfriert. Danke.

    Cu Selur

  • kleines Script?

    Code
    SetMemoryMax(64)SetWorkingDir("L:\Doom9\t37958_Maxbitrate\_SOURCEN\TVSFS2007HD")global OPT_AllowFloatAudio=Truevideo=AVISOURCE("_TVSFS2007HD.avi",false)audio=WAVSOURCE("_TVSFS2007HD.wav")AudioDub(video,audio)ConvertToYV12()ConvertAudioTo32bit()
    Code
    FFmpeg-svn-14277.exe -i [B][COLOR='Magenta']AVSInfo.avs[/COLOR][/B]FFmpeg version Sherpya-r14277, Copyright (c) 2000-2008 Fabrice Bellard, et al.  libavutil version: 49.7.0  libavcodec version: 51.60.0  libavformat version: 52.17.0  libavdevice version: 52.0.0  built on Jul 18 2008 11:12:48, gcc: 4.2.4 [Sherpya]Input #0, avs, from 'AVSInfo.avs':  Duration: 00:01:09.60, start: 0.000000, bitrate: 0 kb/s    Stream #0.0: Video: rawvideo, yuv420p, 1280x720, 331444 kb/s, 29.97 tb(r)    Stream #0.1: Audio: pcm_s32le, 48000 Hz, stereo, 3072 kb/sMust supply at least one output file

    Ausgabe ist dann:

    Code
    HasVideo: trueIsRGB: falseIsRGB24: falseIsRGB32: falseIsYUY2: falseIsYV12: trueIsYUV: trueWidth: 1280Height: 720Framecount: 2086Framerate: 29.970030HasAudio: trueAudiorate: 48000Audiolength: 3340937AudiolengthF: 3340937.000000Audiochannels: 2Audiobits: 32IsAudioFloat: falseIsAudioInt: false

    und hier das AVSInfo.avs:

Jetzt mitmachen!

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