Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th July 2018, 20:21   #1  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,304
MKVToolNix v87.0 released

Note: The latest release is v87.0.

Hello everyone,

July's release of MKVToolNix is here: v25.0.0. After two smaller ones, this one packs quite a number of bug fixes and enhancements, including fixing a regression in the GUI's header editor preventing elements from being removed that was introduced in v24.0.0. Sorry about that.

AV1 support hasn't changed. While the bitstream format's been finalized in the meantime, the mapping to Matroska & WebM hasn't. It's currently being discussed on the CELLAR mailing list.

Here are the usual links: the MKVToolNix home page, the Windows installer/portable version & macOS DMG & Linux AppImage and the source code.

The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are still being built and will be available of the course of the next couple of hours.

Here are the NEWS since the previous release:

Quote:
# Version 25.0.0 "Prog Noir" 2018-07-12

## New features and enhancements

* mkvmerge: SRT/ASS/SSA text subtitles: for files for which no encoding has been specified, mkvmerge will try UTF-8 first before falling back to the system's default encoding. Part of the implementation of #2246.
* mkvmerge: SRT/ASS/SSA/WebVTT text subtitles: a warning is now emitted if invalid 8-bit characters are encountered outside valid multi-byte UTF-8 sequences. Part of the implementation of #2246.
* mkvmerge: Matroska & MPEG transport stream readers: the encoding of text subtitles read from Matroska files can now be changed with the `--sub-charset` parameter.
* Linux: starting with release 25 an AppImage will be provided which should run on any Linux distribution released around the time of CentOS 7/Ubuntu 14.04 or later.
* macOS: translations: updated the `build.sh` script to build `libiconv` and a complete `gettext`. Together with an additional fix to how translation files are located, MKVToolNix can now use all interface languages on macOS, too. Fixes #2110, #2307, #2323.

## Bug fixes

* mkvmerge: AVC/h.264: fixed file identification failing for certain elementary streams due to internal buffers not being cleared properly. Fixes #2325.
* mkvmerge: HEVC/h.265: fixed file identification failing for certain elementary streams due to internal buffers not being cleared properly. This is the HEVC analog to what was fixed for AVC in #2325.
* mkvmerge: MLP code: fixed various issues preventing MLP from being parsed correctly. Fixes #2326.
* mkvmerge: TrueHD/MLP packetizer; dialog volume normalization removal isn't attempted if the track is an MLP track as the operation is only supported for TrueHD, not MLP.
* mkvmerge: MPEG TS reader: when reading MPLS mkvmerge will now compare the MPLS's start and end timestamps against the transport stream's PTS instead of its DTS. Otherwise the first key frame of a video track might be dropped if it isn't the first in presentation order. Fixes #2321.
* mkvmerge: JSON identification: mkvmerge will ensure that all strings passed to the JSON output modules are valid UTF-8 encoded strings by replacing invalid bytes with placeholder characters. This avoids the JSON library throwing an exception and mkvmerge aborting on such data. Fixes #2327.
* mkvmerge: audio packetizers: mkvmerge will now keep discard padding values if they're present for packets read from Matroska files. Fixes #2296.
* mkvmerge: Ogg Opus reader: packet timestamps aren't calculated by summing up the duration of all packets starting with timestamp 0 anymore. Instead the algorithm is based on the Ogg page's granule position and which packet number is currently timestamped (special handling for the first and last packets in the stream).
* This fixes the first timestamp if the first Ogg packet's granule position is larger than the number of samples in the first packet (= if the first sample's timestamp is bigger than 0). mkvmerge will keep those offsets now and inserts "discard padding" only where it's actually needed. * It also improves handling of invalid files where the first Ogg packet's granule position is smaller than the number of samples in the first packet (= the first sample's timestamp is smaller than 0). mkvmerge will now shift all timestamps up to 0 in such a case instead of inserting "discard padding" elements all over the place. * mkvmerge will no longer insert "discard padding" elements if the difference between a) the calculated number of samples in the packet according to the granule position and b) the actual number of samples as calculated from the bitstream is one sample or less and if the packet isn't the last one in the stream. This circumvents certain rounding errors. * The timestamp of the first packet after a gap in the middle of the stream is now calculated based on the Ogg page the packet belongs to, and not based on the timestamps before the gap.
Fixes #2280.
* mkvmerge: complete rewrite of the progress handling. It's now based upon the total size of all source files and the current position within them instead of the number of frames/blocks to be processed. This simplifies calculation when appending files and fixes rare cases of when progress report was obvious wrong (e.g. stuck at 0% right until the end). Fixes #2150 and #2330.
* MKVToolNix GUI: header editor: non-mandatory elements couldn't be removed anymore due to a regression while fixing #2320. They can now be removed again. Fixes #2322.
Have fun
__________________
Latest MKVToolNix is v87.0

If I ever ask you to upload something, please use my file server.

Last edited by Mosu; 7th September 2024 at 12:42.
Mosu is offline   Reply With Quote
Old 12th July 2018, 20:38   #2  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,248
Nice one Mosu
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline   Reply With Quote
Old 14th July 2018, 22:41   #3  |  Link
Rollinnn
Registered User
 
Join Date: Dec 2015
Posts: 5
Slightly incorrect chapters time

I took 9 wav files (pcm 96 kHz/16 bits), all exacly one second (96000 samples) long, merged them to mka using MKVToolnix 25.0.0 with creating chapters for each appended file.
It seems obvious that each chapter should be exactly 1 second long and second chapter should start exactly at 1 second, third chapter should start exactly at 2 second and so on.
But using Info tool in MKVToolnix or MKVCleaver i can see that chapters time is slightly off.
So question: is this normal? If not, then what can be reason of this?
Here are chapters as extracted by MKVCleaver:
Code:
<?xml version="1.0"?>
<!-- <!DOCTYPE Chapters SYSTEM "matroskachapters.dtd"> -->
<Chapters>
  <EditionEntry>
    <EditionFlagHidden>0</EditionFlagHidden>
    <EditionFlagDefault>0</EditionFlagDefault>
    <EditionUID>6106875923387060889</EditionUID>
    <ChapterAtom>
      <ChapterUID>7385917724078987421</ChapterUID>
      <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 01</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>12105901406932053652</ChapterUID>
      <ChapterTimeStart>00:00:00.999996225</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 02</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>4640490012402631944</ChapterUID>
      <ChapterTimeStart>00:00:02.000002865</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 03</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>143719244427371845</ChapterUID>
      <ChapterTimeStart>00:00:02.999999090</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 04</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>11556711324240879944</ChapterUID>
      <ChapterTimeStart>00:00:03.999995315</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 05</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>6789293790652085347</ChapterUID>
      <ChapterTimeStart>00:00:05.000001955</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 06</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>815895495329946186</ChapterUID>
      <ChapterTimeStart>00:00:05.999998180</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 07</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>13740887356558005711</ChapterUID>
      <ChapterTimeStart>00:00:07.000004820</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 08</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
    <ChapterAtom>
      <ChapterUID>7577353493033748017</ChapterUID>
      <ChapterTimeStart>00:00:08.000001045</ChapterTimeStart>
      <ChapterDisplay>
        <ChapterString>Chapter 09</ChapterString>
        <ChapterLanguage>eng</ChapterLanguage>
      </ChapterDisplay>
    </ChapterAtom>
  </EditionEntry>
</Chapters>
Rollinnn is offline   Reply With Quote
Old 19th July 2018, 21:18   #4  |  Link
Perenista
Registered User
 
Join Date: Oct 2013
Posts: 218
I have a little problem with MKVToolnix: I used nPlayer to copy the 4K recorded video from my iPAD PRO 10.5 to another folder, so it was converted from MOV to MP4.

These are the details from the MP4 (now saved in my PC):

https://pastebin.com/GWRkfxyD

And as you can see the file is playing fine.

https://imgur.com/a/PRKWy0P

Now watch what happens when I add the MP4 to MKVToolnix and save as MKV:

https://imgur.com/a/uWTiCx5

Why? And how to avoid this?

It seems the iPAD is sending a command (embedded inside the MP4, of course) to MKVToolnix, to turn the image upside down. The funny thing is that everywhere I play this content it is not upside down. When added to MKVToolnix it changes to this.

Edit: now I spotted this in the file properties:

Rotation: 180°

What the hell?

Last edited by Perenista; 19th July 2018 at 21:20.
Perenista is offline   Reply With Quote
Old 19th July 2018, 22:05   #5  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
The video has been recorded upside-down but a flag in the MP4 container tells players to rotate the video by 180° upon display (so that display is corrected). When mkvtoolnix remuxes the mp4 file this flag is lost because such a flag doesn't exist for mkv. Nothing you can do except re-encode the video or stick to mp4. (There are SEI messages for orientation in H.264 that mkvtoolnix would keep but I don't know a software to change them nor if any player supports them.)

Last edited by sneaker_ger; 19th July 2018 at 22:08.
sneaker_ger is offline   Reply With Quote
Old 19th July 2018, 22:16   #6  |  Link
Perenista
Registered User
 
Join Date: Oct 2013
Posts: 218
Quote:
Originally Posted by sneaker_ger View Post
The video has been recorded upside-down but a flag in the MP4 container tells players to rotate the video by 180° upon display (so that display is corrected). When mkvtoolnix remuxes the mp4 file this flag is lost because such a flag doesn't exist for mkv. Nothing you can do except re-encode the video or stick to mp4.
Yamb is also failing to do the same, so sticking with MP4 and doing any lossless change is not an option.

If this was an AVI I could easily open VirtualDUB and use directstream copy to save without reencode.

I need to edit this MP4 in this way:

- I recorded with the iPAD, however I used a tape recorder which then saved the ambient audio as a MP3. (this is way better than the audio recorded from the iPAD)

What I need to do:

1) Remove the audio stream from the MP4 recorded by the iPAD.

2) Add the MP3 from the tape recorder, which is now synchronized.

I did this:

- Extracted the video as RAW (Yamb option). I did this with the MP4 taken from the iPAD. Resulting file: IMG_1513_track1.h264

Then I used Yamb to join the video and audio streams.

Again upside down. Why Apple continues to do this sort of c.rap to force users into reencodes is beyond me.

In a 2013/14 PC it takes several hours to reencode in 4K quality, using Sony Vegas. And the final result, even if it's good, it's not as good as the original MP4 file (and there was a reduction from 6.82 to 3.63 GB).

I'll see if there's something that can be done... It makes no sense to say this was recorded upside down since I only used landscape mode and while I was looking at the iPAD camera the image was not upside down.

*****
Edit: I did it! Problem solved! There was no need to reencode.

https://stackoverflow.com/questions/...ut-re-encoding

This is what should be done:

Look at that part...

True lossless rotation of MP4:

open mp4 with hex editor and search for vide to find the metadata of the video track
some rows above (for my files mostly 9, sometimes 12) you should see trak...\tkhd
in between there should be an @ sign (HEX 40)
in the two rows before it the rotation matrix is stored

(...)

Last edited by Perenista; 20th July 2018 at 04:43.
Perenista is offline   Reply With Quote
Old 21st July 2018, 20:16   #7  |  Link
LeMoi
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 367
Hello there,
when I am in the main multiplexing window, is there a keyboard shortcut to add the tracks, or do I need to right click in the blank part and then select 'Add files' ?
LeMoi is offline   Reply With Quote
Old 21st July 2018, 20:18   #8  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,304
You can generally see available shortcuts on controls by pressing and holding Alt. In case of the English variant, you'll then see that the "Add source files" button has an accelerator on the A, meaning you can press Alt+A to activate it.
__________________
Latest MKVToolNix is v87.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 22nd July 2018, 17:14   #9  |  Link
Perenista
Registered User
 
Join Date: Oct 2013
Posts: 218
Why isn't possible to open MKVToolnix twice to edit files? I can only do it once at a time.
Perenista is offline   Reply With Quote
Old 22nd July 2018, 19:09   #10  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,304
That's intentional so that things such as adding files to a running instance via the command line (or drag & drop onto the program icon or via Windows "send to" functionality) works.

You can easily work on multiple things at the same time in that single instance, though: just open new tabs in the tool you need. Note that the job queue is run asynchronously, meaning you can continue using the tools (multiplexer, info too, chapter editor, header editor) while jobs are being executed.
__________________
Latest MKVToolNix is v87.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 26th July 2018, 02:09   #11  |  Link
mood
Registered User
 
Join Date: May 2012
Posts: 96
the build "mkvtoolnix-32-bit-25.0.0-revision-008-ga86e6cece" is broken

it can't open mkv file, nothing happen, no error message, nothing, all buttons stay disable

I have to kill the task for close mkvtoolnix.


Last edited by mood; 26th July 2018 at 08:08.
mood is offline   Reply With Quote
Old 26th July 2018, 03:08   #12  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Your problem is described in #6 here:

https://forum.doom9.org/forum-rules.htm

Just like the good ol' days.
videoh is offline   Reply With Quote
Old 26th July 2018, 03:43   #13  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,101
And instead of chastizing posters you should adhere to what a former moderator had to say about such things:
https://forum.doom9.org/showthread.p...68#post1432768
manolito is offline   Reply With Quote
Old 26th July 2018, 07:26   #14  |  Link
mood
Registered User
 
Join Date: May 2012
Posts: 96
I have change the name of file. I just post the bug not promote piracy
mood is offline   Reply With Quote
Old 26th July 2018, 08:09   #15  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,304
Thanks for the heads-up. It actually does work, it just accidentally reads the whole file during identification which can take quite a long time. I've fixed it.
__________________
Latest MKVToolNix is v87.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 26th July 2018, 19:43   #16  |  Link
LeMoi
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 367
Quote:
Originally Posted by Mosu View Post
You can generally see available shortcuts on controls by pressing and holding Alt. In case of the English variant, you'll then see that the "Add source files" button has an accelerator on the A, meaning you can press Alt+A to activate it.
Thanks for the tip, but indeed it's reserved for the english version. With the French translation, Alt-A opens the Help Menu ('Aide'), even if the A of "Add source files" ('Ajouter des fichiers source') is underlined, so there's not keyboard shortcut... But that made me notice the "Add Source files" button, since until now I used to right-click in the main window, I have to admit that I never saw this button in the bottom of the window

PS: is there a button in the attachment tab, or do I need to use the right click?
LeMoi is offline   Reply With Quote
Old 26th July 2018, 19:58   #17  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,304
Quote:
Originally Posted by LeMoi View Post
PS: is there a button in the attachment tab, or do I need to use the right click?
The latter.
__________________
Latest MKVToolNix is v87.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 30th July 2018, 17:08   #18  |  Link
Snowknight26
Registered User
 
Join Date: Aug 2007
Posts: 1,431
Is the RHEL repo URL wrong?

Adding the repo and then trying to update produces:
Quote:
failure: repodata/repomd.xml from bunkus-org: [Errno 256] No more mirrors to try.
https://mkvtoolnix.download/centos/7...ta/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Shouldn't https://mkvtoolnix.download/centos/7...ata/repomd.xml be https://mkvtoolnix.download/centos/7...ta/repomd.xml? (basically, remove "Server")

Edit: Looks like CentOS and RHEL use different $releasever variables: https://github.com/alanfranz/docker-...lder/issues/15 & https://stackoverflow.com/questions/...or-7-as-output

Last edited by Snowknight26; 30th July 2018 at 17:20.
Snowknight26 is offline   Reply With Quote
Old 4th August 2018, 21:50   #19  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,427
How experimental is av1 support atm. ?
Using:
Code:
ffmpeg -y -loglevel fatal -threads 8 -i "D:\TestClips&Co\files\test.avi" -map 0:0 -an -sn   -vf zscale=rangein=tv:range=tv -pix_fmt yuv422p -vsync 0  -f yuv4mpegpipe - | aomenc --passes=1 --pass=1 --end-usage=cq --cq-level=18 --target-bitrate=15000 --profile=1 --cpu-used=6 --min-q=0 --max-q=63 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=0 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --tune-content=default --tile-columns=2 --tile-rows=1 --min-gf-interval=0 --max-gf-interval=0 --threads=2 --width=640 --height=352 --i422 --input-bit-depth=8 --bit-depth=8 -o "E:\Temp\22_34_07_3710_01.ivf" -
to create an av1 file and then trying to multiplex it using:
Code:
mkvmerge --ui-language en -o "E:\Output\test.mkv" -d 0 --default-track 0:yes --default-duration 0:25/1fps --aspect-ratio-factor 0:1/1 --engage enable_av1 --no-chapters --compression -1:none --forced-track 0:yes --no-audio --no-subtitles "E:\Temp\22_34_07_3710_01.ivf"
I get a 0byte output file and:
Code:
mkvmerge v25.0.0 ('Prog Noir') 64-bit
'E:\Temp\22_34_07_3710_01.ivf': Using the demultiplexer for the format 'IVF (AV1, VP8, VP9)'.
'E:\Temp\22_34_07_3710_01.ivf' track 0: Using the output module for the format 'AV1'.
The file 'E:\Output\test.mkv' has been opened for writing.
Error: An exception occurred when writing the destination file. The drive may be full. Exception details: end of file error; No error
(while there are still 2TB free on the hdd)

Cu Selur

Ps.: uploaded the ivf file to: https://drive.google.com/open?id=0B_...TlILW54VThMTFU
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 4th August 2018, 21:59   #20  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,304
Quote:
Originally Posted by Selur View Post
How experimental is av1 support atm. ?
It's completely unusable. Treat the code as if it didn't exist.

Longer explanation: The specs for AV1-in-Matroska and AV1-in-WebM haven't been finalized yet. They will definitely look differently than what mkvmerge produces. mkvmerge's OBU parser is also based on an older bitstream format and cannot process 1.0 bitstreams. Currently work on the specification for AV1-in-Matroska/WebM is ongoing on the CELLAR list (and other threads about "AV1 seeking" & "AV1 init" on the same ML).
__________________
Latest MKVToolNix is v87.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Reply

Tags
matroska

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 23:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.