376

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Bin leider auf ffmpeg angewiesen da ich teilweise auch direkte streams von meiner vu+ codiere hmm
Das ich mit mkvmerge auch über die x264.exe codieren kann ist mehr ehrlich gesagt auch neu *g
Sorry bin noch relativ neu auf dem Gebiet.

377

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Ahhhh,.... streams -> da werden die TimeCodes&Header querbeet  sein.
Wenn Du etwas per Stream erstellst, IMMER danach noch mal remuxen.
-> Remux mal deinen Output von ffmpeg mit mkvmerge.

378

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Hier mal die Daten der neu gemuxxten mkv:

Allgemein
UniqueID/String                          : 192406195202120824628748001320146240093 (0x90C015D5138FB7DA80AD1B954F27025D)
Vollständiger Name                       : D:\live\test_muxx.mkv
Format                                   : Matroska
Format-Version                           : Version 4 / Version 2
Dateigröße                               : 828 MiB
Dauer                                    : 40min
Gesamte Bitrate                          : 2 839 Kbps
Kodierungs-Datum                         : UTC 2016-04-05 17:31:11
Kodierendes Programm                     : mkvmerge v9.0.1 ('Obstacles') 32bit
verwendete Encoder-Bibliothek            : libebml v1.3.3 + libmatroska v1.4.4 / Lavf57.25.100

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format-Profil                            : High@L4.1
Format-Einstellungen für CABAC           : Ja
Format-Einstellungen für ReFrames        : 5 frames
Codec-ID                                 : V_MPEG4/ISO/AVC
Dauer                                    : 40min
Bitrate                                  : 2 455 Kbps
Breite                                   : 1 280 Pixel
Höhe                                     : 720 Pixel
Bildseitenverhältnis                     : 16:9
Modus der Bildwiederholungsrate          : konstant
Bildwiederholungsrate                    : 25,000 FPS
ColorSpace                               : YUV
ChromaSubsampling/String                 : 4:2:0
BitDepth/String                          : 8 bits
Scantyp                                  : progressiv
Bits/(Pixel*Frame)                       : 0.107
Stream-Größe                             : 715 MiB (86%)
verwendete Encoder-Bibliothek            : x264 core 148 r2665 a01e339
Kodierungseinstellungen                  : cabac=1 / ref=5 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Sprache                                  : Deutsch
Default                                  : Ja
Forced                                   : Nein

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Format_Settings_ModeExtension            : CM (complete main)
Format-Einstellungen für Endianess       : Big
Codec-ID                                 : A_AC3
Dauer                                    : 40min
Bitraten-Modus                           : konstant
Bitrate                                  : 384 Kbps
Kanäle                                   : 2 Kanäle
Kanal-Positionen                         : Front: L R
Samplingrate                             : 48,0 KHz
Bildwiederholungsrate                    : 31,250 FPS (1536 spf)
Video Verzögerung                        : -960ms
Stream-Größe                             : 112 MiB (14%)
Sprache                                  : Deutsch
Default                                  : Ja
Forced                                   : Nein

Und hier die Daten der mkv nach schneiden mit MKVcutter:

Allgemein
UniqueID/String                          : 193418609477099374755861862225522273728 (0x918311B5BD35E7988AB063126A412DC0)
Vollständiger Name                       : D:\live\test_done.mkv
Format                                   : Matroska
Format-Version                           : Version 1
Dateigröße                               : 541 MiB
Dauer                                    : 24min
Gesamte Bitrate                          : 3 086 Kbps
Kodierungs-Datum                         : UTC 2016-04-05 17:28:37
Kodierendes Programm                     : mkvmerge v8.5.2 ('Crosses') 32bit
verwendete Encoder-Bibliothek            : libebml v1.3.3 + libmatroska v1.4.4

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format-Profil                            : High@L4.1
Format-Einstellungen für CABAC           : Ja
Format-Einstellungen für ReFrames        : 5 frames
Codec-ID                                 : V_MPEG4/ISO/AVC
Dauer                                    : 24min
Bitrate                                  : 2 697 Kbps
Breite                                   : 1 280 Pixel
Höhe                                     : 720 Pixel
Bildseitenverhältnis                     : 16:9
Modus der Bildwiederholungsrate          : konstant
Bildwiederholungsrate                    : 25,000 FPS
ColorSpace                               : YUV
ChromaSubsampling/String                 : 4:2:0
BitDepth/String                          : 8 bits
Scantyp                                  : progressiv
Bits/(Pixel*Frame)                       : 0.117
Stream-Größe                             : 473 MiB (87%)
verwendete Encoder-Bibliothek            : x264 core 148 r2597 e86f3a1
Kodierungseinstellungen                  : cabac=1 / ref=5 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-4 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Default                                  : Ja
Forced                                   : Nein

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Format_Settings_ModeExtension            : CM (complete main)
Format-Einstellungen für Endianess       : Big
Codec-ID                                 : A_AC3
Dauer                                    : 24min
Bitraten-Modus                           : konstant
Bitrate                                  : 384 Kbps
Kanäle                                   : 2 Kanäle
Kanal-Positionen                         : Front: L R
Samplingrate                             : 48,0 KHz
Bildwiederholungsrate                    : 31,250 FPS (1536 spf)
Stream-Größe                             : 67,3 MiB (12%)
Sprache                                  : Deutsch
Default                                  : Ja
Forced                                   : Nein

Das geschnittene file ist genau diese -960ms async.

Habe es nun so gelöst das ich beim ersten muxxen die verzögerung im mkvmerge mit angebe.
Beim folgenden scheiden ist das file dann sync.

Evtl hätte ich es auch von anfang an so machen sollen, war mir nur nicht sicher ob mkvcutter diese delays auch erkennt smile

379

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Wenn Du so eine Datei irgendwo hochladen und mir einen Link schicken kannst, kann ich da auch noch mal draufgucken. smile

380

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Selur Link per pm...

Das ist ein live transcode mit ffmpeg wie ich sie öfters mache.

381

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Kann das Problem nachstellen, dachte eigentlich, dass der Delay erhalten bleibt so wie mkvmerge&Co aufgerufen wird, scheint aber wohl nicht zu sein. sad
Das doofe ist, dass ich um das zu ändern erst noch mal alle Audio streams nach dem Schneiden extrahieren und danach neu muxen müsste,...
-> noch keine Ahnung ob ich mich dazu aufraffen kann da noch mal das halbe Programm um zu schreiben. (war wie schon öfters erwähnt nur ein Proof-of-Concept, dass man es nicht wild ist so etwas zu schreiben)

382

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Man kann das delay doch direkt an mkvmerge übertragen !? "--sync" "track:delay" wenn mich nicht alles täuscht..

Die nötigen infos gibt Mediainfo ja raus.

Nur ne Idee aber wird wohl nicht so einfach umzusetzen sein.

383

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Nicht sicher ob das klappt so wie MKV Cutter aktuell mit dem Audio umgeht und die Zuweisungen MKV ID <> MediaInfo ID muss dann noch gemacht werden,..
-> geht schon ist halt nur einiges an Arbeit

384

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Ok danke auf jeden fall für die hilfe, ich schau mal was sich noch so tut. Kann den MKVcutter auf jeden fall sehr gut gebrauchen smile

385

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Selur wrote:

@Seeker320: Will try to reproduce the issue (have to create a video with a 5k Resolution to check first, so that the video has the same resolution as my display).

Darn, 5k? That's incredible. tongue
You don't need to create a video though, you can download this one with jDownloader: https://www.youtube.com/watch?v=GHNdXdczjjg

386

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

@E46M3: hab ne neue version hochgeladen, guck mal ob die bei Dir mit dem Delay hilft

387

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

@Seeker320: Uploaded a new version which should allows resizing and thus fix your image size problem. smile

388

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Hi Selur,
updated version doesn't work on XP system even if using latest mkvinfo/mkvextract/mkvmerge compatible for this OS (ver. 7.8.0).
A way to solve?

389

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

will look into it,... (first I need do install a VM with XP in it)

390

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Hallo,

ich habe einen komplett anderen Ansatz, um mkvs framegenau zu schneiden (es sollte eigentlich auch für nicht h264-Streams funktionieren). Und zwar mittels der invisible flags, die Teil der mkv-Spezifikationen sind. Ich habe eigentlich alles Wesentliche bereits hier geschrieben. Das einzige Problem ist es, dass wahrscheinlich nicht viele Player diesen flag beachten. Aber um das zu testen, müsste man zuerst einmal Dateien erzeugen, die dieses flag überhaupt benutzen. Leider sind meine Programmierkenntnisse nicht vorhanden und so kann ich das nicht tun. Die ersten sieben Schritte aus dem Startbeitrag laufen ungefähr gleich ab, aber danach werden diese temporären Dateien anders behandelt und eben mit diesem Flag versehen.
Vielleicht könnte man übrigens noch weiter gehen als nur das invisible-Flag zu setzen: Vielleicht könnte man noch Frames, die nicht als Referenzframes für andere Frames dienen, komplett löschen; und Frames, die nur von schon gelöschten Frames referenziert werden, ebenfalls usw. Kurz: Alle Frames, die nicht unbedingt benötigt werden, könnte man löschen.
(Und wenn Ostern und Weihnachten zusammenfallen, könnte man das am Ende vielleicht sogar in mkvtoolnix aufnehmen; Moritz hält diese Vorgehensweise für interessant, aber er wird seine Zeit nicht darauf verwenden.)

Hello,

I have a completely different idea of cutting mkvs (not only h264): Using the invisible flags that are part of the matroska specification. See the above link for details. Unfortunately a lot of players will be incompatible with these flags, but in order to be sure, one needs to create a file with these flags. Unfortunately my programming skills are lacking (nice word for inexistent) so I can't do that myself.
Maybe one could even go further and completely discard supposed invisible frames that are not referenced by other frames; and frames which are only referenced by frames which have just been discarded and so on.
And if everything works exceptionally well, then maybe this can somehow be adapted to fit into Mkvtoolnix. Moritz Bunkus has alread signalled that he finds the idea interesting, but doesn't want to personally invest time into it.

391

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

@racciddi: uploaded a new version (same date) where I changed a few things, not sure if that helped with the XP compatibility, since my XP VM seems to be broken.

@Andi: Das wesentlich Problem was ich an der Methode sehe ist, dass bei ihr keinerlei Frames entfernt würden, sondern nur Frames nicht angezeigt werden. Man hätte also keinerlei Größengewinn. Dies mag zwar interessant, sein wenn man nur eine einzelne kleine Werbung wegschneiden will. Wenn man aber andersherum gerade diese Werbung haben will, wäre ein Ausblenden des Rests vermutlich für die meisten Leute keine Lösung.
-> Wäre also nur eine Lösung wenn einen die Dateigröße nicht stört. Ist halt nur ein Ausblenden und kein Schneiden. wink
Finde es an sich auch eine nette Idee für ein Feature, aber der Nutzen erscheint mir doch nicht so interessant.

392

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Genau. Mein prinzipielles Anwendungsfeld wäre das Ausblenden des Restes eines Werbeblocks, der nach Schneiden mit mkvtoolnix übrig bleibt. Da man übrigens die Audioinformationen des ausgeblendeten Bereichs entfernen kann, hat man doch eine Größenersparnis, aber sie ist natürlich viel kleiner als die Größenersparnis durch das Schneiden des Werbeblocks.

393

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Selur wrote:

@racciddi: uploaded a new version (same date) where I changed a few things, not sure if that helped with the XP compatibility, since my XP VM seems to be broken.

Tried without success.
Last version fully functionally on my XP machine seems to be rev_20151020.
MkvCutter_rev20151112 works also but only by replacing avisynth.dll, DevIL.dll and LSMASHSource.dll with the previous versions contained in rev_20151020.
MkvCutter_r20160404 and _r20160424 don't work anyway.


P.S.: Updated version shows on the window title "MkvCutter - 20160404" instead of "MkvCutter - 20160424".

394

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

@racciddi: Got my XP VM running again and uploaded a new version which seems to work on XP.

395

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

It works perfectly, thanks a lot wink

396

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Hello.
Thank you for the great tool, I'm using r20160425 on XP.
There is a problem - analyzing h264_parse output eats too much memory. Mkv cutter often closes suddenly at this stage. Could anything be done with that?
Also I've updated the bundled mkvexctract/mkvinfo/mkvmerge utilities to the latest version (9.1.0). Yes, it does work on XP despite the fact that the official site states the compatibility for Vista and later only. But there is a small change: newest versions of mkvinfo (9.0.0 and later) need the "--no-gui" option. Could you add this option to the mkvinfo invocation?

397

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

There is a problem - analyzing h264_parse output eats too much memory

How much memory are we speaking of? Shouldn't eat that much normally.
I might be able to lower the memory load of h264_parse by not simply analyzing the first extracted .264, but the smallest.
(that should make the problem more uncommon if multiple files get extracted)

Could you add this option to the mkvinfo invocation?

No need for that, option shouldn't be needed any more, starting with the next release of mkvtoolnix:

I've just reverted the change to mkvinfo's behavior regarding starting the GUI. Now running "mkvinfo.exe" again only starts the GUI if the parameter "--gui" is used as well. The newly-introduced parameter "--no-gui" is still supported but won't do anything. It will stay that way in order not to mess up people's scripts again.

source: I've just reverted the change to mkvinfo's behavior regarding starting the GUI. Now running "mkvinfo.exe" again only starts the GUI if the parameter "--gui" is used as well. The newly-introduced parameter "--no-gui" is still supported but won't do anything. It will stay that way in order not to mess up people's scripts again.

398

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Selur wrote:

How much memory are we speaking of? Shouldn't eat that much normally.
I might be able to lower the memory load of h264_parse by not simply analyzing the first extracted .264, but the smallest.
(that should make the problem more uncommon if multiple files get extracted)

For example, I'm trying to cut a 22 minutes episode (MKV with 720p H264 inside). Initial memory consumption after opening the file - 221 MiB. The memory consumption grows up to 289 MiB while running h264_parse (I guess, it consumes it's output). Then after h264_parse has finished, the memory consumption jumps up to 585 MiB (I guess, mkv cutter starts to analyze the output of h264_parse). After that memory consumption goes down to 225 MiB.
If I try to cut a 45 minutes episode, mkv cutter just silently closes after h264_parse has finished, leaving all the temporary files. I guess it cannot allocate enough memory, however there are no error messages.

399

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Uploaded a new version which will make sure to analyze the smallest .264 file (which will lower the memory usage of h264_parse), but my guess is that the memory problem isn't related to h264_parse but a side effect of MKVCutter using LibavVideoSource. The first versions used FFVideoSource, but I dropped FFVideoSource since it's a pain to try multiple builds to figure out which one is stable enough to use.

Cu Selur

400

Re: MKV Cutter - tool to cut h.264 mkv files frame accurate,...

Hi Selur,
updated version give me this error as soon as MkvMerge splitting operation is called:

"The instruction at "0x670639b8" referenced memory at "0x00740001". The memory could not be "written"."


Below the last message visualized in the MkvCutter box:

to: C:\\test-003.avs
FFmpeg extractor call: "C:\MKVCutter\ffmpeg.exe" -y -i "C:\\test-002.mkv" -vcodec copy -an -sn -vsync 0 -bsf:v h264_mp4toannexb "C:\\test-002.264"


No problem with r20160425.