Beiträge von jb_alvarado


    Leider bin ich nicht immer in der Lage, die Konsolenausgabe andauernd zu beobachten, um im richtigen Moment "PAUSE" zu drücken, um dann die Fehlermeldung zu lesen, wenn sie gerade erscheint; oft schließen sich dann zwischendurch auch mal mintty-Fenster, man könnte also auch nicht mehr zurückscrollen. Ich bräuchte für solche Fälle mal ein Komplett-Log aller Konsolenausgaben in mintty, eine Art "Debug-Lauf" für die media-autobuild_suite. Ist mir egal, ob die zwischendurch 'zig MB groß werden. Am besten je eine Log-Datei pro Abschnitt, zu dem eine mintty-Konsole geöffnet wird, das passiert ja mehrfach. Wer hat Vorschläge, wie man das hinkriegt?

    Das Script hat jetzt eine Logging Funktion - jetzt wird der komplette Output in verschiedene Dateien unter /build geschrieben.

    Ja es braucht waf damit kompiliert werden kann. Vielleicht erledigt sich das von selbst beim nächsten git pull, ansonsten müssen wir dem noch mal nachgehen. Generell wäre es auch gut, Bugs und Wünsche eher auf Github zu posten, momentan schaue ich nicht sooft hier rein, auch ist der wiiaboo zu Zeit aktiver.

    Würde in das Schema passen was du vorher beschrieben hattest. Wenn die Anfangsinstallation nicht geklappt hatte, weil was mit den Quellen nicht geklappt hat, wird das Script bei jedem Neustart versuchen, alles zu installieren, was schon runtergeladen wurde, wird auch nicht noch mal neu geladen, nur die Pakete die schief liefen. Das mit dem Log wurde schon unter den Issus angesprochen. Mal schauen, was sich da am leichtesten machen lässt.

    Möglich, dass die Adressen geändert wurden. Ich habe das manuell gemacht, vielleicht ist das in dem msys2 build schon aktualisiert. Wäre ein Tip, möglich dass ich mich irre. Bei einem Update nur beachten, dass ffmbc und libmfx aktuell nicht gebaut werden, daher würde ich die exes sichern, vorher.

    Hm wäre mir neu, dass ffmpeg die externe flac lib nimmt. Die Probleme werden sich sicher noch häufen, wenn msys2 offiziell auf gcc 5.2 umsteigt :)...

    Edit: wir werde wahrscheinlich auch mkvtoolnix wieder raus kicken. Der Entwickler gibt anscheint nur Support auf seine eigenen Builds, bei unserem Build gibt es Probleme mit fonds und eigentlich haben wir auch nichts davon es selbst zu bauen, weil unsere Version auch nicht neuer ist.

    Habe die Stelle nicht gefunden, wo das Leerzeichen hin muss. Im Batch und im Shell Script schaut es gut aus. Vielleicht in der Textdatei?

    Pacman update hat bei mir keine Fehler gebracht, vielleicht geht SF wieder. Man kann auch die Quelle ändern:
    https://github.com/Alexpux/MINGW-packages/issues/702

    Da hierbei aber auch auf gcc 5.2 upgedatet wird kann ich für nichts garantieren. Möglich dass alle Libs damit neu kompiliert werden müssen, und auch möglich dass unsere Parameter hier nicht mehr stimmen bwz. nicht ausreichend sind.

    Ah, das ist gut zu wissen!

    Habe jetzt folgenden Workaround:
    Die hint Tracks von mp4box alle entfernt. Mit ffmpeg zu allen Clips faststart hinzugefügt, mit ffprobe das Frame vor dem Keyframe ermittelt:

    Code
    ffprobe -i "$input" -show_frames -select_streams v -show_entries frame=key_frame -show_entries frame=pkt_dts_time -v quiet -of csv="p=0"

    und die Zeit davon verwende ich dann in ffmpeg zum Scheiden:

    Code
    ffmpeg -v "info" -i "$input" -ss $frameTime -c copy -flags global_header -avoid_negative_ts 1 -x264opts stitchable -movflags faststart -threads 2 -nostdin -y "$cutName"

    Und im letzten Schritt kommt dann der concat:

    Code
    ffmpeg -v "info" -f concat -re -i "$newPList" -c copy -flags global_header -bsf:a aac_adtstoasc -f flv -threads 1 "$rtmpURL"

    Scheint soweit zu funktionieren - einmal sind zwar auch dts Wanrungen gekommen, aber nicht mehr fortlaufend wie zuvor, daher haben sie den Stream auch nicht beeinträchtigt. Werd noch ein paar Testdurchläufe machen, aber bist jetzt schaut es sehr gut aus.

    Es ist möglich dass ich es jetzt hin bekommen habe, muss aber noch weiter testen. Dachte schon paar mal es würde klappen :). Habe jetzt mal die Zeit hergenommen, die ich von ffprobe bei einem Key Frame angezeigt bekommen habe, habe ein Frame zurück gerechnet und mit diesem Wert in ffmpeg geschnitten. -ss habe ich dabei nach den Input gesetzt, da das wohl genauer sein soll. Das Anschließende concat gab nur Warnungen aus, dass die Trackanzahl unterschiedlich sein soll, liegt wohl daran dass in dem geschnittenen Clip keine hint Informationen mehr drin sind.

    Mit dem Ganzen bezwecke ich eine Fallbacklösung für unseren Lifestream. Eigentlich wird der lokal auf einen Wowza Server im Internet gestream, allerdings brauchen wir eine Ausfalllösung und diese möchten ich auf einen VServerm packen.

    Die Warnungen die entstehen führen dazu, dass der Stream nicht mehr in Echtzeit läuft, trotz -re, daher brauch ich eine Lösung welche keine fortlaufenden Warnungen in ffmpeg produziert.

    Hier sind mal zwei Clips zum testen:

    ADtv.Gesundheit.2012 (V01).mp4.zip
    ADtv.Prophetie.Zeitgeschehen.2012 (V01).mp4.zip

    Der Inhalt für die Playlist.txt würde in etwa so ausschauen:

    Code
    file 'ADtv.Gesundheit.2012 (V01)_cutTmp.mp4'file 'ADtv.Prophetie.Zeitgeschehen.2012 (V01).mp4'

    Der ffmpeg concat Befehl schaut so aus:

    Code
    ffmpeg -f concat -re -i "$newPList" -c copy -flags global_header -bsf:a aac_adtstoasc -f flv -threads 1 rtmp://streaming/address

    Zum testen geht auch, statt Adresse, -f sdl "test"

    Falls es interessiert, mit ffprobe bekomme ich die Keyframes und die dazugehören Zeiten so raus:

    Code
    ffprobe -i input -show_frames -select_streams v -show_entries frame=key_frame -show_entries frame=pkt_dts_time -v quiet -of csv="p=0"

    Sorry, soweit hatte ich nicht gedacht :). Hier wäre der mediainfo Output:

    Code
    Format                                   : MPEG-4Format profile                           : Base Media / Version 2Codec ID                                 : mp42File size                                : 943 KiBDuration                                 : 18s 27msOverall bit rate mode                    : VariableOverall bit rate                         : 429 KbpsEncoded date                             : UTC 2015-07-14 14:52:20Tagged date                              : UTC 2015-07-14 14:52:20VideoID                                       : 1Format                                   : AVCFormat/Info                              : Advanced Video CodecFormat profile                           : Main@L3.2Format settings, CABAC                   : YesFormat settings, ReFrames                : 4 framesCodec ID                                 : avc1Codec ID/Info                            : Advanced Video CodingDuration                                 : 18s 0msBit rate                                 : 301 KbpsMaximum bit rate                         : 620 KbpsWidth                                    : 640 pixelsHeight                                   : 360 pixelsDisplay aspect ratio                     : 16:9Frame rate mode                          : ConstantFrame rate                               : 25.000 fpsColor space                              : YUVChroma subsampling                       : 4:2:0Bit depth                                : 8 bitsScan type                                : ProgressiveBits/(Pixel*Frame)                       : 0.052Stream size                              : 661 KiB (70%)Title                                    : h264@GPAC0.5.2-DEV-rev426-gc5ad4e4-masterWriting library                          : x264 core 146 r2538 121396cEncoding settings                        : cabac=1 / ref=4 / deblock=1:0:0 / analyse=0x1:0x131 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=10 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=25 / keyint_min=2 / scenecut=40 / intra_refresh=0 / rc_lookahead=25 / rc=crf / mbtree=1 / crf=22.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=1000 / vbv_bufsize=1000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00Encoded date                             : UTC 2015-07-14 14:52:20Tagged date                              : UTC 2015-07-14 14:52:20AudioID                                       : 2Format                                   : AACFormat/Info                              : Advanced Audio CodecFormat profile                           : LCCodec ID                                 : 40Duration                                 : 18s 27msBit rate mode                            : VariableBit rate                                 : 93.6 KbpsMaximum bit rate                         : 102 KbpsChannel(s)                               : 2 channelsChannel positions                        : Front: L RSampling rate                            : 48.0 KHzCompression mode                         : LossyStream size                              : 206 KiB (22%)Title                                    : aac@GPAC0.5.2-DEV-rev426-gc5ad4e4-masterEncoded date                             : UTC 2015-07-14 14:52:20Tagged date                              : UTC 2015-07-14 14:52:20Other #1ID                                       : 65536Type                                     : HintFormat                                   : RTPCodec ID                                 : rtp Duration                                 : 18s 0msEncoded date                             : UTC 2015-07-14 14:52:20Tagged date                              : UTC 2015-07-14 14:52:20Other #2ID                                       : 65537Type                                     : HintFormat                                   : RTPCodec ID                                 : rtp Duration                                 : 18s 27msEncoded date                             : UTC 2015-07-14 14:52:20Tagged date                              : UTC 2015-07-14 14:52:20Bit rate mode                            : VBR

    Und so schaut der ffprobe Output eines Frames aus:

    Wegen dem Timecode, wird dieser nicht mit ffmpeg zurückgesetzt? Also auf die neue Länge? Das wäre ja ok.

    Ich verstehe auch nicht warum das nicht geht mit ffmpeg, denn hier am Ende wird ausdrücklich gesagt, dass nur am Key Frame geschnitten wird:
    https://trac.ffmpeg.org/wiki/Seeking

    Dank für die Antwort may24. Im Container befindet sind eine Videospur, eine Audiospur und die dazugehörigen hint Tracks. Funktioniert aviDemux auch ohne GUI? Das ganze soll später auf einem Linux VServer laufen. Ich habe auch schon versucht mit ffprobe die I Frames zu ermitteln, aber das hat noch nicht so geklappt wie gewünscht. Das Anspielen ist auch nicht das Problem, sondern das anschließende concat mit anderen mp4 Clips.

    Hallo Allerseits,
    ich bräuchte eine Möglichkeit mp4s zu splitten, ohne diese neu zu komprimieren. Es muss nicht Frame- genau sein, also +- 50 Frames sind kein Problem (GOP Size ist 25). ffmpeg habe ich jetzt mit allen möglichen Einstellungen versucht, das neue mp4 File lässt sich auch grundsätzlich abspielen, ist aber in irgendwelchen Parametern nicht mehr korrekt. Problem ist, dass ich viele Clips mit ffmpeg per concat zusammen fügen möchte - solange kein Clip beschnitten wurde geht das auch wunderbar, sobald allerdings ein Clip beschnitten wurde gibt es Probleme. Sagen wir der erste Clip in meiner Liste wurde gesplittet, hierbei läuft ffmpeg mit concat am Anfang noch richtig, sobald aber der zweite Clip anfängt gibt es dts und andere Fehler.

    Habe versucht Audio und Video getrennt raus zu schreiben und mit mp4box zusammen zu fügen, aber mp4box liest die h264 Spur nicht mehr ein. Mit mp4box splitten habe ich auch versucht, war zuerst vielversprechend, ist aber nicht zuverlässig. Mal geht es, mal geht es nicht.
    mencoder habe ich auch versucht, würde von der Videospur her gehen, allerdings müsste hier die Audiospur neu komprimiert werden, was nicht geht.

    Das ganze soll unter Linux und Windows auf Kommandozeilen- Basis laufen und möglich schnell sein.

    Habt ihr Ideen was ich noch versuchen könnte?

    Danke schon mal für Eure Antworten!

    Grüße

    @ zub35, is better when you post directly on github. But I think your problem must be fixed already.
    @ Selur, mplayer sollte wieder libdvd drin haben.

    Da momentan aber Sourceforge Probleme hat kann es gut sein, dass einiges nicht geht im Script.