Selur's Little Message Board

Full Version: MKV Cutter - tool to cut h.264 mkv files frame accurate,...
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Here I share the ALPHA version of a small tool I work on from time-to-time.

https://drive.google.com/drive/folders/1...share_link

What is it ment to do?
It is ment to be a small gui which allows to frame accurately (by using smart rendering) cut mkv files.

Limitations:
Since it's a alpha version and I really only look at it from time to time there are some major shortcomings.
  • it only properly supports H.264 content (users reported: H.265 content can be cut, cut not frame accurate)
  • it has an ugly user-interface
  • it does not come with any bells&whistles
  • x264 encoding is very rudimentary (no user choice, always crf 19 encode)
  • ignores subtitles if present
  • only supports 4:2:0 content
  • Windows OS only atm. (mainly because Avisynth is used for decoding and preview; in theory ffmpeg could be used as alternative so porting to Linux&Co should be possible)
here's a general overview how MKVCutter works:
  1. analyze content with MKVInfo (to get the key frame positions)
  2. analyze content with MediaInfo (to get some general data needed for audio reencoding and preview)
  3. create AvisynthSkript to preview the content (simple script that calls FFVideoSource on the input)
  4. let user set which parts of the content he wants
  5. create audio and video cut lists for mkvmerge, create trim calls
  6. let user set the output name and the temp folder
  7. call mkvmerge with the video cut lists to create a bunch of temporary files (here the cuts are always on key frames)
  8. analyze one of the not reencoded parts with h264_parse to improve compatibility
  9. create avisynth scripts using the trim calls and LWLibAVSource to decode the GOPs that need reencoding (smart rendering)
  10. create x264 call to reencode the content provided by the avisynth scripts
  11. call x264 to reencode
  12. when all GOPs that need to be reencoded are reencoded, call mkvmerge to cut the audio (here attachments, subtitles&co do not get disabled any therefore should still be available)
  13. merge the new audio video and all the reencoded and kept GOPs

Quote:This is how one uses 'MKV Cutter': (or how the author envisioned one would use it)
  1. Start MKV Cutter
  2. Press 'Open Source' and select the .mkv file you want to cut.
  3. MKV Cutter will now use MkvInfo, Mediainfo and h264_analyse to anaalyse the source will, once it's finished a new screen will show.
  4. Here one selects the parts of the movie one wants to keep.
  5. Go to a 'start-point' of a section you want to keep.
  6. Press 'Cut-Start'
  7. Go to the 'end-point' of the current section you want to keep.
  8. Press 'Cut-End'
  9. The selected section should now be highlighted on the slider.
  10. Press 'Add to Cut-List', so the selection section will be remebered.
  11. Repeat step 5.-10. for all sections you want to keep.
  12. Press 'Commit Cut-List' to finish the selection definition.
  13. In the next view you set the 'Output' (File) and 'Temp folder'
  14. Press 'Output' and set the name and location of the output file.
  15. Press 'Temp folder' to set the folder that is used for temporal files.
  16. Press 'Next' to start the actual processing.
  17. Wait till 'MKVCutter' is done and the 'Finished!' popup appears.


Cu Selur
update 2017.06.25: MKV Cutter should now be able to mkvs with non constant time code differences (vfr content). Smile

Cu Selur