Hybrid: Input -> x264/x265/Xvid/VP8/VP9/AV1

  • Code
    NamedPipe.exe "\\.\pipe\1.wav" neroAacEnc.exe -if - -br 448000 -ignorelength -of "1.mp4"
    Code
    mplayer.exe -aid 0 -msglevel statusline=5:all=0 -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -ao pcm:fast:waveheader:file=\\.\pipe\1.wav -channels 6

    oder auch

    Code
    mplayer.exe -aid 0 -msglevel statusline=5:all=0 -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -ao pcm:fast:waveheader:file="\\.\pipe\1.wav" -channels 6

    geht nicht, immer wieder von namepipe:
    no input file specified

    also namepipe kriegt die pipe nicht ;)

    2 Mal editiert, zuletzt von volvo (22. Februar 2011 um 19:50)

  • NamedPipe macht keine Ausgaben, die Ausgabe kommt von neroAacEnc.
    1. Benne doch mal deine Datei um, so dass sie nicht nur eine Zahl als Dateinamen hat,... eventuell mach NamedPipe das nicht,...
    2. Ich habe bewusst vor dem "-if" ZWEI Leerzeichen, da darf nicht nur eines sein,..

    Cu Selur


  • 2. Ich habe bewusst vor dem "-if" ZWEI Leerzeichen, da darf nicht nur eines sein,..
    Cu Selur

    Das wars! Zahlen sind ok, jetzt sehe ich ne Ausgabe. nämlich hochzählen der seconds und bekomme nen output... ;) YEP

    Jetzt nochmal die große Datei durchschicken.... (hatte mir zum Testen was kleines gebastelt)

  • Ich drück die Daumen, dass so die Länge stimmt und ich dann es irgendwann die Woche über gebacken kriege heraus zu bekommen, wie ich den -ao pcm:fast:waveheader:file="\\.\pipe\1.wav"-Teil escapen muss, damit ich das aus Hybrid heraus Aufrufen kann,...
    Bei normalen Dateien die man so decoded, also keine Pipe, muss ich so etwas mache:

    Code
    command += " -vo null -ao pcm:fast:waveheader:file=";
    command += "\"\"\"\""+output+"\"\"\"\""; <- bei Windows
    command += "\"\""+output+"\"\""; <- bei Linux


    damit es klappt,.. (leider kann man 'output nicht einfach durch den Pipeteil ersetzen,.. :/

  • Yep! Passt!

    hat die korrekte Länge
    Das habe ich verwendet:

    Code
    NamedPipe.exe \\.\pipe\1.wav neroAacEnc.exe  -if - -br 448000 -ignorelength -of 1.mp4


    Code
    mplayer.exe -aid 0 -msglevel statusline=5:all=0 -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -ao pcm:fast:waveheader:file="\\.\pipe\1.wav" -channels 6

    Ich drücke Dir Daumen!

    Respekt!!!!
    Sehr schönes Projekt!

    PS: Dammit mit den ZWEI Leerzeichen, hatte ich sogar bemerkt, aber einfach eins weglassen.... 30 min Lebenszeit ... wg eines Leerzeichens ODER wg dusseligen Windows, das es nicht erlaubt Befehl in die Konsole zu kopieren (oder habe ich da was übersehen..?)

  • Nur zur Info:
    2pass CRF wird übrigens rausfliegen, da es mit x264 nicht mehr möglich ist.

    Code
    .. | x264 --preset veryfast --pass 1 --crf 18 --profile high --level 4.1 --direct auto --partitions none --no-8x8dct --me dia --aq-mode 0 --stats "D:\Encoding Output\test.stats" --fps 25 --input-res 640x352 --output NUL -

    erstellt im Gegensatz zu früher kein .stats File mehr

    Cu Selur

    Ps.: kleines Update bzgl. mplayer&NamedPipe, dass Problem ist nicht MPlayer sondern NeroAacEnc,.. :(

  • sollte kein Problem sein, kann ich ändern, da ffmpeg auch lame support hat :)

    Eine Einbindung wie NeroAacEnc wäre vermutlich besser, zumindest war das letzte Mal als ich ffmpeg mit lame verwendet habe die integrierte Unterstützung leicht verbuggt und extrem veraltet (keine Unterstützung von VBR nur ABR)...



    No-Go, da ffmpeg zu oft kaputte mp4 files erzeugt. Wenn Du allerdings heraus findest wo das Problem genau liegt kann man es eventuell den Muxingaufruf von MP4Box anpassen.

    Google hatte keine Ahnung, was wahrscheinlich daran liegt dass ein ganz normaler MP4Box Aufruf funktioniert. Ich hab dann mal bisschen rumgespielt - Ergebnis:
    Mein Gerät (Samsung YP-P3) stört sich dämlicherweiße an dem explizit angegeben PAR, könnte man da eine Option haben den nicht einzubetten? (Perfekt wäre dann natürlich noch ein Warnhinweis wenn Ausgabe-PAR != 1:1 ... aber das ist das Zuckerli^^)


    komisch sollte nicht sein

    Hab ich grad keine Lust zu testen, ist m.E. auch mehr Spielerei als notwendig...

    Einmal editiert, zuletzt von bulsa (23. Februar 2011 um 22:48)

  • Zitat

    Mein Gerät (Samsung YP-P3) stört sich dämlicherweiße an dem explizit angegeben PAR, könnte man da eine Option haben den nicht einzubetten?


    kann es so schreiben, dass er nicht in die Command Line kommt, wenn er 1:1 ist,..

    Zitat

    Perfekt wäre dann natürlich noch ein Warnhinweis wenn Ausgabe-PAR != 1:1 ... aber das ist das Zuckerli


    Wäre es da nicht sinniger, Crop/Resize->Pixel Aspect Ratio->Convert output to PAR -> Square Pixel (1:1) einzustellen und das FilteringModel unter Config zu speichern?

    Cu Selur

  • Hi,
    habe gestern nochmal mit der direkten Eingabe über die beiden Konsolen gespielt (via pipe) und Neroaac. Das ist schon krass, bei dem von mir früher mal als Stream 2 bezeichneten Audio-DTS-Stream findet sich auch ne Abhängigkeit von der Bitrate, mal geht es (384), mal geht es nicht (448, 512). Dann ich auch noch nen anderen Stream der geht auch nur bei 384, aber nicht bei 448.

    Fehlermeldung bei Neroaacenc:
    error while encoding frame.

    Aber auch AC3 (aften) verkürzt manche DTS Streams, wenn es aus Hybrid aus aufgerufen wird.
    Insgesamt bleibt mir die Systematik schleierhaft.
    Versuche demnächst mal die neue Testversion.
    Danke

  • Scheints da ist Dir noch nen Bug durchgerutscht:

    Ich habe jetzt (von den verschiedenen Testversionen, die Du gepostet hast), die letzte ausprobiert, gerade eben runtergeladen (Sa, 26.02.11, 13:30). Und bekomme folgende Fehlermeldung:
    2011.02.26 - 12:44:55_TEST_110222 - 12_44_53_641_01_audio: QProcess::FailedToStart
    2011.02.26 - 12:44:55_TEST_110222 - CRASHED: QProcess::FailedToStart
    2011.02.26 - 12:45:10_TEST_110222 - stopping preview,...

    Ich hatte versucht, einen DTS Audiostream in 1 oder 3 verschiedene AAC-Streams mit unterschiedlichen BitRates umzuwandeln.

    Report:

    Code
    Sox audio gain analyse started...helperCall: "C:\Video\Hybrid-N\mplayer.exe" -msglevel statusline=5:all=0 -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -ao "pcm:fast:waveheader:file=""""\\.\pipe\pipe_12_49_29_109.wav""""" -channels 6QProcess::FailedToStart

    Debug Output ist hier:

    Einmal editiert, zuletzt von LigH (26. Februar 2011 um 13:01)

  • volvo: Hab Dir gestern abend noch ein Update geschickt, gibt mal bitte Bescheid, ob das bei Dir das Problem löst.

    Leider nein.

    Report:

    Code
    Sox audio 2pass analyse started...
    helperCall: "C:\Video\Hybrid-N\mplayer.exe" -aid 0 -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -ao "pcm:fast:waveheader:file=""""\\.\pipe\pipe_18_45_40_718.wav""""" -channels 6
    QProcess::FailedToStart
  • Ich hatte ja 2 Probleme, hier das Audio DTS Problem
    Umwandlung eines DTS-Streams in eine NeroAAC Stream.
    Mit der Testversion vom 01.03.11 geht es leider immer noch nicht:

    Aus der Hybridanzeige:

    Code
    CRASHED:mplayer -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -channels 6 -ao "pcm:fast:waveheader:file=PIPE_PLACEHOLDER":_*_:NamedPipe PIPE_PLACEHOLDER neroAacEnc  -br 512000 -ignorelength -if - -of "D:\00_Video\1n_und_aid_0__11_55_17_321_01.aac"

    Hier der relevante (so meine ich) Auszug aus dem Bug Report:

    Code
    2011.03.01 - 11:59:06_TEST_110301 - Processing: 2011.03.01 - 11:59:06_TEST_110301 - Processing 11_59_03_071_01_audio: mplayer -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -channels 6 -ao "pcm:fast:waveheader:file=PIPE_PLACEHOLDER":_*_:NamedPipe PIPE_PLACEHOLDER neroAacEnc  -br 384000 -ignorelength -if - -of "D:\00_Video\1n_und_aid_0__11_59_03_071_01.aac"2011.03.01 - 11:59:06_TEST_110301 - Command size 2, with: NamedPipe PIPE_PLACEHOLDER neroAacEnc  -br 384000 -ignorelength -if - -of "D:\00_Video\1n_und_aid_0__11_59_03_071_01.aac"2011.03.01 - 11:59:06_TEST_110301 -  -> command adjusted to: neroAacEnc  -br 384000 -ignorelength -if - -of "D:\00_Video\1n_und_aid_0__11_59_03_071_01.aac"2011.03.01 - 11:59:06_TEST_110301 - connecting main to handleNeroAACEncOutput2011.03.01 - 11:59:06_TEST_110301 - 11_59_03_071_01_audio: NeroAACEnc started...2011.03.01 - 11:59:06_TEST_110301 - 11_59_03_071_01_audio ### D:\00_Video\1n.mkv ### NeroAACEnc started...2011.03.01 - 11:59:06_TEST_110301 - Setting helper,...2011.03.01 - 11:59:06_TEST_110301 - helperCall: mplayer -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -channels 6 -ao "pcm:fast:waveheader:file=PIPE_PLACEHOLDER"2011.03.01 - 11:59:06_TEST_110301 - connecting helper to handleMencoderOutput2011.03.01 - 11:59:06_TEST_110301 - setTempFile(2) for: neroAacEnc  -br 384000 -ignorelength -if - -of "D:\00_Video\1n_und_aid_0__11_59_03_071_01.aac"2011.03.01 - 11:59:06_TEST_110301 - -> should be there after processing: D:\00_Video\1n_und_aid_0__11_59_03_071_01.aac2011.03.01 - 11:59:06_TEST_110301 - Replacing PIPE_PLACEHOLDER entries,...2011.03.01 - 11:59:06_TEST_110301 -  -> NamedPipe "\\.\pipe\pipe_11_59_06_562.wav" neroAacEnc  -br 384000 -ignorelength -if - -of "D:\00_Video\1n_und_aid_0__11_59_03_071_01.aac" -> mplayer -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -channels 6 -ao "pcm:fast:waveheader:file=""""\\.\pipe\pipe_11_59_06_562.wav""""" -> 2011.03.01 - 11:59:06_TEST_110301 - Adjusting calls to absolute paths,..2011.03.01 - 11:59:06_TEST_110301 - Couldn't find an absolute path for NamedPipe.2011.03.01 - 11:59:06_TEST_110301 - aborting,..

    ABER:
    Die Eingabe dieser beiden Befehle in 2 Konsolen fiunktioniert:

    Code
    NamedPipe.exe \\.\pipe\1.wav neroAacEnc.exe  -if - -br 448000 -ignorelength -of D:\1.aac
    
    
    mplayer.exe -aid 0 -msglevel statusline=5:all=0 -mc 0 -vc null -vo null -nocorrect-pts "D:\00_Video\1.dts" -ao pcm:fast:waveheader:file="\\.\pipe\1.wav" -channels 6
  • Hier das 2. Problem:
    VIDEO:
    Hybrid führt zum kompletten Windows Crash bei der Umwandlung eines 1020p MKV Streams mit Reduktion der Bitrate, dieses Problem ist gelöst!!!

    Das war definitiv ein Speicherproblem bei Windows, der zu einer 'falschen Arbeitsspeicherbelegung' und folgendem Systemcrash führte.
    Um x264 weniger speicherhungrig zu machen, habe ich die PreviewFrames reduziert (--rc-lookahead 40 auf --rc-lookahead 20).

    in Hybrid:
    -> x264 -> Rate Control -> Lookahead (frames): von 40 auf 20 gesetzt.

    Danke Selur für den Hinweis!

Jetzt mitmachen!

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