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

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 22nd August 2008, 17:24   #541  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Mosu View Post
A third reason is that it is technically impossible (or nearly so) to keep the stream bit-exact. For example, in the raw h.264 streams there are AUDs before the first SPS and PPS NALUs. However, the SPS and PPS NALUs are combined into the AVCC which is in turn stored in Matroska's CodecPrivate element (the same is done for storage of h.264 inside MP4 files). There's simply to space for AUDs in the AVCC.
I agree about AVCC.

But: IIRC earlier versions of mkvmerge stripped SPS and PPS NALUs from the frame data. At that time it made sense to prepend the codec private data when demuxing. But I think you changed mkvmerge to not strip SPS and PPS, anymore. Right? So I think prepending the codec private data in mkvmerge doesn't really make sense, anymore. What do you think?

Quote:
Originally Posted by Mosu View Post
However, it might be possible to modify mkvextract to create AUDs on its during extraction. There would be a separate option which turned this feature on, just like there's such an option in x264. The question is: how important is such a feature?
That is a good question and to be honest I'm not sure about the answer. What I can say is that my own tool (eac3to) depends on the AUDs as frame delimiters. So my tool cannot handle h264 bitstreams without AUDs in them. Now of course I could rewrite my tool to add support for h264 streams without AUDs in them, but to be honest having AUDs in the stream makes life so much easier. No need to write complicated algorithms to find out which slices belong together and which don't, when there are AUDs in the stream...
madshi is offline  
Old 22nd August 2008, 17:34   #542  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally Posted by madshi View Post
I agree about AVCC.

But: IIRC earlier versions of mkvmerge stripped SPS and PPS NALUs from the frame data. At that time it made sense to prepend the codec private data when demuxing. But I think you changed mkvmerge to not strip SPS and PPS, anymore. Right? So I think prepending the codec private data in mkvmerge doesn't really make sense, anymore. What do you think?
True, but mkvextract has to scan the stream before it can decide whether or not the AVCC has to be prepended or not. As no program so far has had a problem with multiple SPS and PPS NALUs (as long as they are identical!) I haven't seen the need for more complicated NALU scanning code.

Quote:
That is a good question and to be honest I'm not sure about the answer. What I can say is that my own tool (eac3to) depends on the AUDs as frame delimiters. So my tool cannot handle h264 bitstreams without AUDs in them. Now of course I could rewrite my tool to add support for h264 streams without AUDs in them, but to be honest having AUDs in the stream makes life so much easier. No need to write complicated algorithms to find out which slices belong together and which don't, when there are AUDs in the stream...
I see, but I'm afraid that the reasons I've stated (especially space efficiency) are more important to me Most tools I know do not write AUDs by default (or cannot do it at all). So you cannot rely on AUDs being present in eac3to.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 22nd August 2008, 18:04   #543  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Mosu View Post
True, but mkvextract has to scan the stream before it can decide whether or not the AVCC has to be prepended or not. As no program so far has had a problem with multiple SPS and PPS NALUs (as long as they are identical!) I haven't seen the need for more complicated NALU scanning code.
Yes, that's why I said that it's not so important. I just find it cosmetically ugly to have duplicate SPS/PPS in the demuxed stream...

Quote:
Originally Posted by Mosu View Post
I see, but I'm afraid that the reasons I've stated (especially space efficiency) are more important to me Most tools I know do not write AUDs by default (or cannot do it at all). So you cannot rely on AUDs being present in eac3to.
Most original streams I'm seeing (HD DVD, Blu-Ray, broadcasts) have AUDs in them. So relying on AUDs was not a problem so far. The only problem I'm having is that eac3to can not handle h264 streams demuxed by mkvextract. But I understand that space saving is important for you. And adding a new option is always a lot of work. I know that...
madshi is offline  
Old 22nd August 2008, 18:29   #544  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally Posted by madshi View Post
Most original streams I'm seeing (HD DVD, Blu-Ray, broadcasts) have AUDs in them. So relying on AUDs was not a problem so far. The only problem I'm having is that eac3to can not handle h264 streams demuxed by mkvextract. But I understand that space saving is important for you. And adding a new option is always a lot of work. I know that...
Probably because all three use MPEG program or transport streams. I'd guess that most direct encodings into MP4 or raw streams do not contain AUDs though.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 22nd August 2008, 18:56   #545  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Mosu View Post
Probably because all three use MPEG program or transport streams. I'd guess that most direct encodings into MP4 or raw streams do not contain AUDs though.
Yes, that's probably right.
madshi is offline  
Old 8th September 2008, 17:11   #546  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
mkvtoolnix 2.3.0 released

Hey guys,

here's another release of mkvtoolnix, 2.3.0 this time. There are a couple of new features and a few important bug fixes along with the smaller improvements and changes. The change description from freshmeat.net reads as follows:

Quote:
Newly supported features include DTS-HD tracks (both "high definition" and "master audio"), Ogg Kate text subtitles, skipping of ID3 tags in AAC and AC3 files, Vorbis-in-AVI, delaying any track type and floating point WAV files. Several bugs were fixed including timecode handling for various track types and use cases, A/V desynchronization in VOBs, wrong VobSub packets and more.
Please note that with 2.3.0 I stop providing binaries for a couple of distributions myself. These include: Ubuntu 6.06 and 6.10; OpenSuSE 10.0; Windows 95/98/ME/NT (meaning that there will be no more
non-Unicode binary for Windows). This does not mean that mkvtoolnix cannot be built on these platforms, just that you'll have to do it yourself.

A note for those who want to compile mkvtoolnix themselves: mkvtoolnix' library requirements have changed slightly. It now uses Boost's regex library instead of the PCRE library. mkvtoolnix can be linked against wxWidgets 2.6.x and 2.8.x as long as the 2.8 version has been built with 2.6 compatibility enabled (building definitely fails with 2.8 without 2.6 compatibility).

Here are the links:

...to the home page:

http://www.bunkus.org/videotools/mkvtoolnix/

...to the source code:

http://www.bunkus.org/videotools/mkv...-2.3.0.tar.bz2

...to the Windows binary:

http://www.bunkus.org/videotools/mkv....3.0-setup.exe

As always, binaries for other Linux and Unix distributions are available from the home page.

Last but not least the full ChangeLog since the previous release 2.2.0:

------------------------------cut------------------------------
2008-09-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: all: On Unix/Linux rpath linker flags have been removed again (they were actually removed before the release of v2.3.0).

2008-09-07 Moritz Bunkus <moritz@bunkus.org>
* Released v2.3.0.

2008-09-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: improved the timecode calculation for MP3 tracks read from MP4 files. Another part of the fix for bug 165.

2008-09-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge honors the timecode offsets of all streams in a MPEG program stream (e.g. VOB file) fixing audio/video desynchronization. Fix for bug 295.

2008-08-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Switched from the PCRE regular expression library to Boost's RegEx library.

2008-08-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: DTS-in-WAV handling (14 to 16 bit expansion)was flawed. Fix for bug 288.
* mkvmerge: new feature: Added support for Vorbis in AVI (format tag 0x566f). Fix for bug 271.
* mkvmerge: new feature: Added support for PCM tracks withfloating point numbers (CodecID A_PCM/FLOAT/IEEE). Patch byAurelien Jacobs (see AUTHORS).

2008-08-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The fix to the timecode handling for AVC tracks in MP4 files from 2008-04-16 caused certain other MP4 filesto not be read correctly. The video tracks were found, but no frames were read. Fix for bug 294.
* mkvmerge: new feature: Added support for Ogg Kate subtitles. Patch by ogg.k.ogg.k@googlemail.com.

2008-08-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: The option "--delay" was removed. The option "--sync" now only modifies the timecodes of a given track. mkvmerge does not pad audio tracks with silence. "--sync"works with all track types now, but using a stretch factor otherthan 1 with audio tracks might not work too well during playback. mmg's inputs for "Delay" and "Stretch by" can be usedwith all track types. Fix for bug 287.

2008-08-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mmg outputs a more informative errormessage for known but unsupported input file types (e.g. ASF, FLV,MPEG TS) instead of the cryptic "file identification failed".
* mkvmerge: bug fix: The VobSub reader would sometimes read too many bytes for a single SPU packet. Part of a fix for bug 245.

2008-05-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Using BZIP2 compression resulted in broken streams. Patch by Aurelien Jacobs (see AUTHORS).

2008-05-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Improved support for WAV files biggerthan 4 GB which only contain a single DATA chunk and a wronglength field for this DATA chunk (e.g. eac3to creates such files).

2008-05-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Certain Matroska files with dis-continuous streams (e.g. subtitles) caused huge memory consumption. Fix for bug 281.

2008-04-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge will output a proper error message if it is called with ASF/WMV files instead of detecting other kinds of streams (e.g. AVC ES streams). Fix for bug 280.

2008-04-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed an assertion in the OGM reader occuringfor OGM files with embedded chapters. Fix for bug 279.
* mkvmerge: all: On Unix/Linux rpath linker flags are added for library paths given in LDFLAGS and configure's "--with-extra-libs" options.

2008-04-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed wrong timecodes for MP4 files thatcontain video tracks with B frames and edit lists. Fix for bug277. Patch by Damiano Galassi (see AUTHORS).

2008-04-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge will not strip leading spaces in SRT subtitles anymore.
* mkvmerge: bug fix: Tuned the file type detection for MPEG ESstreams. Fix for bug 265.

2008-04-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed writing to UNC paths on Windows. Fixfor bug 275.

2008-03-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added support for skipping ID3 tags in AAC and AC3 files. Fix for bug 204.
* mkvmerge: new feature: Added support for DTS-HD (both "master audio" and "high resolution").
------------------------------cut------------------------------

Have a nice day

Mosu
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 8th September 2008, 17:14   #547  |  Link
nautilus7
Registered User
 
nautilus7's Avatar
 
Join Date: Jan 2006
Location: Athens, Greece
Posts: 1,518
Thanks a lot for the update!
Quote:
Originally Posted by Mosu View Post
Newly supported features include DTS-HD tracks (both "high definition" and "master audio")
You mean High Resolution...

EDIT: I believe to forgot to update the program version number to 2.3.0. It displays 2.2.0 in titlebar.

Last edited by nautilus7; 8th September 2008 at 17:19.
nautilus7 is offline  
Old 8th September 2008, 17:31   #548  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Thanks for noticing; I'll update the binaries.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 8th September 2008, 17:55   #549  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Binaries re-built and uploaded.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 9th September 2008, 00:50   #550  |  Link
NanoBot
Registered User
 
Join Date: Sep 2003
Posts: 209
Hi Mosu,

first of all for the new version.

In addition I would like to ask if there are plans to support VC.1 elementary streams as a source format ? ATM the only way to use raw VC.1 streams with mkvmerge is to create a mkv file containing only the video with eac3to/gsdmux first and to import this mkv into mkvtoolnix.

C.U. NanoBot
NanoBot is offline  
Old 9th September 2008, 09:16   #551  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Hi Mosu,

Any chance of providing an "button option" to keep the "Video Stream Level Signalling" for MPEG-4 Part-2/Part-10 video streams. Instead of having to write-in the code?


Many thanks
__________________
| 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  
Old 9th September 2008, 10:16   #552  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Mosu View Post
here's another release of mkvtoolnix, 2.3.0 this time. There are a couple of new features and a few important bug fixes along with the smaller improvements and changes.
Thank you!
madshi is offline  
Old 9th September 2008, 10:23   #553  |  Link
buzzqw
HDConvertToX author
 
Join Date: Nov 2003
Location: Cesena,Italy
Posts: 6,552
thanks Mosu!

BHH
__________________
HDConvertToX: your tool for BD backup
MultiX264: The quick gui for x264
AutoMen: The Mencoder GUI
AutoWebM: supporting WebM/VP8
buzzqw is offline  
Old 14th September 2008, 12:11   #554  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
@Mosu, don't know if you're still using my old code for parsing DTS-HD streams. I've found new information in the meanwhile. Here's the proper code to find out the size of the DTS-HD blocks:

Code:
  if GetBits(bits, 32) = $64582025 then  // DTS-HD sync dword
  begin
    GetBits(bits, 8);
    GetBits(bits, 2);
    blownUpHeader := GetBits(bits, 1) = 1;
    if blownUpHeader then begin
      GetBits(bits, 12);
      sizeOfDtsHdBlockInBytes := GetBits(bits, 20) + 1;
    end else begin
      GetBits(bits, 8);
      sizeOfDtsHdBlockInBytes := GetBits(bits, 16) + 1;
    end;
  end;
This is exactly the way "proper" DTS-HD decoders parse DTS-HD blocks. Finding out which stream is DTS-HD Hi-Res and which is DTS-HD Master Audio is not as easy as I originally thought. If you must know that I can tell you how. But I guess you don't really need to know, do you?
madshi is offline  
Old 14th September 2008, 12:54   #555  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally Posted by madshi View Post
@Mosu, don't know if you're still using my old code for parsing DTS-HD streams. I've found new information in the meanwhile. Here's the proper code to find out the size of the DTS-HD blocks:
Thanks, I've updated my code accordingly. Do you happen to have a sample with the blown-up-header bit set to 1? I only have samples with the bit set to 0.

Quote:
Finding out which stream is DTS-HD Hi-Res and which is DTS-HD Master Audio is not as easy as I originally thought. If you must know that I can tell you how. But I guess you don't really need to know, do you?
Right, mkvmerge doesn't care as it has no effect on the way the track is muxed.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 14th September 2008, 12:56   #556  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally Posted by NanoBot View Post
In addition I would like to ask if there are plans to support VC.1 elementary streams as a source format ?
That's still only a "maybe". I'd like to, but it's mostly a question of lack of time.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 14th September 2008, 12:57   #557  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally Posted by SeeMoreDigital View Post
Any chance of providing an "button option" to keep the "Video Stream Level Signalling" for MPEG-4 Part-2/Part-10 video streams. Instead of having to write-in the code?
Maybe, maybe not. Sample files, please?
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 14th September 2008, 15:07   #558  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Mosu View Post
Thanks, I've updated my code accordingly. Do you happen to have a sample with the blown-up-header bit set to 1? I only have samples with the bit set to 0.
I don't have any such samples. I think it's a feature which is not used currently. It's probably for future use, I guess.

Last edited by madshi; 14th September 2008 at 15:11.
madshi is offline  
Old 14th September 2008, 15:12   #559  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally Posted by madshi View Post
I don't have any such samples. I think it's a feature which is not used currently. It's probably for future use, I guess.
Ah ok.
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline  
Old 16th September 2008, 03:37   #560  |  Link
ataraxia937
Registered User
 
Join Date: Sep 2008
Posts: 1
mkvtoolnix 2.3.0 for Mac OS X 10.5

I have built a package of mkvtoolnix 2.3.0 for Leopard. It is universal, but will not work on 10.4 or earlier. It is built with bzip2, lzo, and FLAC support, but does not include the GUI for mkvmerge as I haven't been able to make it work.

MKVToolNix for Leopard

(I also built a package of ogmtools if anyone wants that: OGMtools for Leopard)

I did send email to Mosu about these but I figured I'd post them here also.
ataraxia937 is offline  
Closed Thread

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 01:25.


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