Beiträge von 3ds

    Splitte ich die Streams aber vorher in raw Streams auf und füttere mp4box damit, spielt die erzeugte MP4 nahezu jeder Player.

    Ja, das funktioniert und die pts has no value Fehler sind weg:

    Code
    ffmpeg.exe -i FooBar.m4v -vcodec copy FooBar.h264
    mp4box.exe -add FooBar.h264 -new FooBar.mp4

    Umständlich und erstmal ohne Audio, aber schon mal eine Brauchbare Lösung.

    Hatte ich auch schon nach geschaut. Doch er erkennt das Source Video nicht richtig:

    Code
    MPEG-4 Video import - 0 x 0 @ 25.0000 FPSIndicated Profile: Simple Profile @ Level 1Import results: 0 VOPs (0 Is - 0 Ps)Converting to ISMA Audio-Video MP4 file...[ISMA convert] Adjusting visual track size to 0 x 0Saving test.mp4: 0.500 secs Interleaving

    Batch sieht so aus:

    Code
    mp4box.exe -keepsys -isma -add "%~1" -new "%~n1.mp4"


    Ohne -keepsys -isma ist es ebenfalls unbrauchbar.

    Ich nutzte gern ffmpeg in einer Batch Datei um aus einem m4v ein mp4 zu machen:

    Code
    ffmpeg.exe -i "%~1" -vcodec copy "%~n1.mp4"

    Doch das funktioniert nicht gut, weil es zu diesen Fehlern kommt:

    Zitat

    [mp4 @ 02375a20] pts has no value


    und das oft.

    Im MPHC sieht man dann das viele Frames beim Abspielen ausgelassen werden -> Ruckeln...

    Im Netz findet man auch häufig diesen Fehler beschrieben. z.B.:
    http://superuser.com/questions/7100…-no-value-error

    Lösung soll sein: -fflags +genpts (als erstes, noch vor -i zu setzten)
    Damit ist der Fehler zwar weg, aber das abspielen ruckelt weiter, wegen ausgelassener Frames.

    Nehme ich die selbe Datei und jage sie durch AviDemux (Video mit copy), dann ist alles ok. Aber avidemux_cli.exe zu nutzten ist eine Qual.
    Mit libav ist es das selbe :(

    Ideen?

    Du wirst da die Matroska Spezifikation und die Features von mkvtoolnix durcheinander. :D


    Das ist mir mittlerweile klar. Leider wird es auch nicht richtig gut kommuniziert.

    Das Problem ist, dass die meisten (alle?) Hersteller sich nicht darum scheren und vermutlich keine der Spezifikationen richtig (= funktionierend und komplett) unterstützen, weshalb sie so etwas wie 'Matroska v3 - kompatible' nicht in ihre Spezifikationen der Geräte schreiben können.


    Genau, das ist das eigentlich Problem. Da müßte man ansetzten, damit der Endanwender es einfacher hat. Um nicht irgendwelche Optionen durchprobieren zu müßen.

    ich mach mal einen entsprechenden Eintrag im Matroska-Tracker gemacht: https://trac.bunkus.org/ticket/858#ticket


    Das ist schon mal eine gute Idee.

    Doch woher kamen eigentlich meine Probleme? Man hat in der Weiterentwicklung von mkvtoolnix neue Features eingebaut und direkt mal aktiviert.
    Bei der Kompression hat man es ja anscheinend gemerkt: Erst eingebaut und aktivuert. Später einen Schaltet zu deaktivieren in den Einstellungen eingefügt und diesen später wieder entfernt und Kompression im Urzustand ausgeschaltet.

    Man sollte also IMHO neue Features immer per default ausgeschaltet einbauen. So kann jeder gezielter neue Sachen aktivieren...

    --engage no_cue_duration
    --engage no_cue_relative_position
    --engage no_simpleblocks
    --disable-lacing
    --clusters-in-meta-seek


    Ich probiere die mal alle... Mal sehen...

    IMHO wäre es besser, wenn die matroska Jungs Versionen verwenden und neue Features an diese Koppeln und wenn Hardwarehersteller angeben, welche Version unterstützt wird. Dann kann man einfacher wählen, welchen Versionsstandart man einhalten muß...

    Aber so führen die einfach irgendwelche neuen Sachen ein und mal sehen ob es denn klappt... Das ist aus Anwendersicht irgendwie murks...

    Nicht updaten verschiebt ja nur das eigentliche Problem...

    "--engage no_cue_duration" und "--engage no_cue_relative_positions" bringt ein wenig Besserung:
    Anspringen von Kapitelmarken geht damit wieder verzögerungsfrei.
    Das Spulen klappt auch besser, aber nicht immer einwandfrei. Oft steigt der Player früher oder später aus :(

    v5.3.0 hat auf jeden Fall funktioniert.

    In MediaInfo sieht man auch u.a. das:

    alte Datei:

    Code
    Format : Matroska Format-Version : Version 2 Kodierendes Programm : mkvmerge v5.3.0 ('I could have danced') built on Feb 9 2012 10:38:07 verwendete Encoder-Bibliothek : libebml v1.2.3 + libmatroska v1.3.0

    neuere Datei, bei der das Spulen nicht mehr geht:

    Code
    Format : Matroska 
    Format-Version : Version 4 / Version 2 
    
    
    Kodierendes Programm : mkvmerge v6.0.0 ('Coming Up For Air') built on Jan 20 2013 09:52:00 
    verwendete Encoder-Bibliothek : libebml v1.3.0 + libmatroska v1.4.0

    Matroska wird offensichtlich noch weiter entwickelt. Wie mir scheint aber nicht vollständig Abwärtskompatibel. Das ist wirklich ein Ärgernis.

    Bei https://trac.bunkus.org/wiki/FAQ%3AImp…lityWithPlayers scheint mir das Fazit zu sein: Wenn es zu Abspielproblemen kommt, haben die Hardware Hersteller Mist gemacht und sollen gefälligst ein Update raus bringen. Theoretisch haben sie ja recht, aber praktisch funktioniert das nicht und hinterlässt Frust. Zumindest bei mir.

    Die irgendwann eingeführte "Header Compression" wurde ja zum Glück wieder ausgeschaltet.

    Momentan habe ich aber Probleme mit dem Spulen und den Kapitelmarken, seit ich mkvmerge von v5.x auf v6.x gewechselt habe. Auch die Option --clusters-in-meta-seek bringt keine Besserung.

    Nun könnte ich die FAQ weiter durch gehen und eine Optionen nach der anderen durch probieren. Aber so richtig Lust habe ich dazu nicht.

    Konkret geht es um den Sony BDP-S490 Blu-Ray-Player... Kennt jemand bei dem die richtige Kombination der Optionen?
    Ansonsten werde ich einfach wieder "downgraden" auf v5.x

    Es bringt nur keinen Mehrwert. Keinerlei räumlichen Eindruck. Außer man belegt die seitlichen Kanäle mit künstlichem Raumfaltungshall. Der Center behält dann den "trockenen" Anteil der Mischung.

    Genau, ich denke das macht keinen Sinn... Ich hab allerdings was anderes Festgestellt, als ich mit die 5.1 Abmischung der englischen Spur angesehen habe:
    Im L,R Kanal ist keine Sprache drin, sondern nur Geräusche. Also genauso wie im SL,SR und LFE...

    Also mach ich nun das:
    DE L,R zum center mischen:

    Code
    %sox_exe% -S -V -m "%~dpn1 DE.L.wav" "%~dpn1 DE.R.wav" "%~dpn1 DE-fertig.C.wav" gain -n -1

    DE L + EN L sowie DE R + EN L zu L,R mischen (leiser):

    Code
    %sox_exe% -S -V -m "%~dpn1 EN.L.wav" "%~dpn1 DE.L.wav" "%~dpn1 DE-fertig.L.wav" gain -n -3%sox_exe% -S -V -m "%~dpn1 EN.R.wav" "%~dpn1 DE.R.wav" "%~dpn1 DE-fertig.R.wav" gain -n -3

    Dann daraus ein AC3 machen:

    Code
    %aften_exe% -b 448 -chconfig 2/2+LFE -ch_fl "%~dpn1 DE-fertig.L.wav" -ch_fr "%~dpn1 DE-fertig.R.wav" -ch_sl "%~dpn1 EN.SL.wav" -ch_sr "%~dpn1 EN.SR.wav" -ch_lfe "%~dpn1 EN.LFE.wav" "%~dpn1 DE 5.1upmix.AC3"

    Das Ergebnis ist ganz ok... Ich frage mich eigentlich warum das nicht schon so gemacht wurde, dann hätte man es auch als Deutsch 5.1 upmix verkaufen können...
    Wobei, in einigen, wenigen Stellen hört man doch im Englischen eine Stimme leicht durch. Immer dann, wenn es im Original mit einem ordentlichen Hall versehen wurde, hört man das dann auch leise in L,R,SL,SR... Aber das stört mich nicht so ganz...

    Geht hier übrigents um STTOS :D

    Mir ist was aufgefallen. Es würde Sinn machen aus der 2.0 Quelle eine 3.0 Quelle zu machen, d.h. Aus dem Stereo den Center zu extrahieren. Doch wie diesen upmix machen?

    In MeGUI gibt es u.a. Upmix 2 to 5.1 with center channel dialog
    Die Richtung hört sich schon nicht schlecht an. Doch wie passiert das im Hintergrund?

    EDIT: Sox kann dazu eigentlich nicht verwendet werden, denn in MeGUI\tools\ ist kein sox vorhanden. Wie das aber damit gehen könnte steht wohl hier: http://forum.doom9.org/showthread.php?p=1385091#post1385091

    Was nutzt also MeGUI dazu?

    EDIT2: Stimmt wohl nicht. Wird wohl sox genommen, wenn in http://svn.code.sf.net/p/meguizhcn/co…derInterface.cs findet sich das:

    #1 ist mit Aften aus WAVs selbst erzeugt, siehe: http://forum.gleitz.info/showthread.php…2-0-neu-remixen

    Allerdings weiß ich noch nicht, ob es nicht ein anderes Problem ist, warum der Bluray player nicht abspielen will. Vielleicht mag er kein VC-1 in mkv... (Er mag auch kein MPEG2 in mkv)
    Ich probiere mal VC-1 mit x264 zu wandeln.

    Denn mkv wäre mir eigentlich lieber als MP4...

    Danke für die Info... Im Grunde mache ich das nur, weil mein dämlicher BluRay Player die mkv nicht will...

    In diesem Fall ist es VC-1 Video + 2x AC3 Audio und 1x DTS...

    Wobei libav die AC3 Streams weg läßt. Von daher mag er vielleicht AC3 in MP4 nicht... Ich weiß auch nicht ob der BluRay Player das abspielen würde.

    Ich habe eine .mkv mit mehreren Audio Streams und würde gern daraus eine .mp4 machen.

    Normalerweise sollte das gehen:

    Code
    avconv.exe -i foo.mkv -codec copy out.mp4


    Zumindest steht bei http://libav.org/avconv.html#Stream-specifiers-1 das:

    Zitat

    An empty stream specifier matches all streams, for example -codec copy or -codec: copy would copy all the streams without reencoding.

    In der neuen .mp4 ist allerdings nur ein Audio Stream und nicht alle drei.

    Mit ffmpeg ist es das selbe.


    Ideen?

    Habe es schon ein wenig einfacher:
    1. mit eac3to direkt aus dem MKV die WAVs von beiden Tracks machen
    2. mit Aften das ganze zu einer neuen AC3 mixen
    3. mit mkvmerge das ganze wieder in einer neuen MKV packen

    mit sox könnte man natürlich dennoch die einzelnen WAVs bearbeiten.