MakeMKV v.11 LPCM audio track error.

Everything related to MakeMKV
markb
Posts: 28
Joined: Thu Jan 21, 2010 1:34 pm

MakeMKV v.11 LPCM audio track error.

Post by markb »

Hi!

I am not able to rip the LPCM audio track from any of my Blu-ray disks on latest MakeMKV version 11.
After MakeMKV finishes, the LPCM track is corrupt and does not play.
This happens on all my LPCM rips.
Is this a known problem?

I am using Windows 7 x86.

Thank You for your efforts on MakeMKV...It is an excellent product!
dtblair
Posts: 102
Joined: Fri Jan 22, 2010 8:14 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by dtblair »

I haven't tried Bluray but I have several DVD concerts (Eagles: Hell Freezes Over in one) that I have tried that if they contain a LPCM track they fail. DD and DTS work fine. Clicking off the LPCM audio track allows the file to be created. This happens on both Windows XP and 7
ELVISPOPCORN
Posts: 8
Joined: Sun Jan 24, 2010 9:38 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ELVISPOPCORN »

markb wrote:Hi!

I am not able to rip the LPCM audio track from any of my Blu-ray disks on latest MakeMKV version 11.
After MakeMKV finishes, the LPCM track is corrupt and does not play.
This happens on all my LPCM rips.
Is this a known problem?

I am using Windows 7 x86.

Thank You for your efforts on MakeMKV...It is an excellent product!
Have not seen this problem, of corruption. have you tried it again?
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

I have seen it several times, Both the Kill Bills are a good example. But if you rip in anydvd and use eac3to, there is no error. When you use makemkv, eac3to cannot parse the pcm, so you have to extract with mkvextract. Then you must convert with eac3to, on some blurays, like the KBs, the tracks are then garbled and unusable. Not a problem with anydvd. Similar issue with many TrueHD tracks, DTSHD seems to be pretty stable.
markb
Posts: 28
Joined: Thu Jan 21, 2010 1:34 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by markb »

Yes...ALL LPCM blu-ray tracks I have tried are corrupt and just get white-noise during playback in any player.
All 3 Pirate movies and Cars for example have main LPCM tracks and none of them rip correctly.

I have not had any problems with any TrueHD or DTS-HR MA tracks.
mike admin
Posts: 4075
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: MakeMKV v.11 LPCM audio track error.

Post by mike admin »

Your MKVs are not corrupted!

For TrueHD - it is a known problem in eac3to that will be corrected very soon. See http://www.makemkv.com/forum2/viewtopic.php?f=1&t=887

LPCM - MakeMKV writes all LPCM streams with more than 2 channels as "extended wav" to preserve channel assignment. tsmuxer uses the same format too. The state of support in OSS software is pretty grim. The only player that properly plays this format is mplayer and ffmpeg has proper implementation. VLC plays these files from wav container but not from MKV. mkvtoolnix tools do not recognize this format and fail to extract. same goes for eac3to.

As with PGS it will get better over time. Bottom line - MakeMKV produces correct results, but as with all new formats there are problems.
markb
Posts: 28
Joined: Thu Jan 21, 2010 1:34 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by markb »

I see now!

Yup...LPCM works fine...All is fine with v.11...Great product!

Sorry...Thanks!
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

mike admin wrote:Your MKVs are not corrupted!

For TrueHD - it is a known problem in eac3to that will be corrected very soon. See http://www.makemkv.com/forum2/viewtopic.php?f=1&t=887

LPCM - MakeMKV writes all LPCM streams with more than 2 channels as "extended wav" to preserve channel assignment. tsmuxer uses the same format too. The state of support in OSS software is pretty grim. The only player that properly plays this format is mplayer and ffmpeg has proper implementation. VLC plays these files from wav container but not from MKV. mkvtoolnix tools do not recognize this format and fail to extract. same goes for eac3to.

As with PGS it will get better over time. Bottom line - MakeMKV produces correct results, but as with all new formats there are problems.
Thanks for the reply. I can extract and have uses LPCM tracks from makemkv .11 like so:

mkvextract tracks title00.mkv --raw 2:pcmaudio.pcm

Then to convert:

eac3to pcmaudio.pcm pcmaudio.flac -blu-ray

Sometimes eac3to correctly detects file, sometimes it doesn't. Kill Bill 1 & 2 are good examples of it not working. So the question is, what is the proper extension of "extended wav", or the ffmpeg format to specify? Do you know the channel mapping?
mike admin
Posts: 4075
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: MakeMKV v.11 LPCM audio track error.

Post by mike admin »

ragboy wrote: Thanks for the reply. I can extract and have uses LPCM tracks from makemkv .11 like so:
mkvextract tracks title00.mkv --raw 2:pcmaudio.pcm
This is the thing. MakeMKV writes LPCM track in two different formats depending on channel count.
Mono and stereo - PCM. All software supports this format.
More than 3 channels - PCM in an extended WAV container. mkvextract will fail on this track. as will eac3to. and vlc. in fact, the only player that will play this track is mplayer.

Authors of mkvtoolnix and eac3to are notified, you may expect this type of track to be recognized in future versions of eac3to and mkvextract. Extended WAVs are already properly supported by flac and tsMuxer.
ragboy wrote: Sometimes eac3to correctly detects file, sometimes it doesn't.
It works with stereo, fails with multi-channel, check for yourself.
ragboy wrote: Do you know the channel mapping?
The whole point of saving in extended WAV is to preserve channel mapping. It is part of the header.
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

Knowing that FLAC can read the extended wav format is very helpful, thank you, will do a test with Kill Bill. As far as eac3to and stereo, I haven't done any tests with STEREO, they have all been 5.1, 6.1 and 7.1 pcm tracks. Many extracted from mkvextract as I described will work with eac3to, but not all.

You mentioned the workaround with TRUEHD tracks and eac3to, that by using the full TRUEHD extension, eac3to could demux, extract. Is there a way to do this with a pcm track in an mkv by makemkv? What is the extension, if possible?
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

First, let me preface by saying that makemkv is a great program, and plan to be a paying supporter when the time comes....

I still think there is an issue on some PCM tracks. When I use MakeMKV, and then there are 2 ways I can get at the PCM track. Many BRs I am able to extract and convert to M4a with great results, with 5.1 6.1, and even 7.1 tracks. 3 that come to example that give errors are Cars, Kill Bill 1, and Kill Bill 2. On CARS, mkvmerge -i reports this:

Code: Select all

[rgarcia@fs2 CARS_USA]$ mkvmerge -i title00.mkv
File 'title00.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_MS/ACM, unknown)
Track ID 3: audio (A_AC3)
Track ID 4: audio (A_AC3)
Track ID 5: audio (A_AC3)
Track ID 6: subtitles (S_HDMV/PGS)
Track ID 7: subtitles (S_HDMV/PGS)
Track ID 8: subtitles (S_HDMV/PGS)
Chapters: 32 entries
Global tags: 1 entries
Tags for track ID 1: 1 entries
So I can use mkvextract --raw or --fullraw to get the PCM track out, and then convert to wav or whatever with either eac3to or ffmpeg. I can also use ffmpeg to read the track right in the MKV, here is an example of that, and you can see ffmpeg is reading header/channel/track data:

Code: Select all

[rgarcia@fs2 CARS_USA]$ ffmpeg -i title00.mkv -vn -map 0.1:0.0 -t 120 -ac 6 test.wav
FFmpeg version 0.5-rpmfusion, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic --extra-version=rpmfusion --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-vdpau --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-postproc --enable-swscale --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Oct 26 2009 01:33:29, gcc: 4.4.1 20090725 (Red Hat 4.4.1-2)
[matroska @ 0x1fb7c80]Unknown/unsupported CodecID S_HDMV/PGS.

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
    Last message repeated 2 times
Input #0, matroska, from 'title00.mkv':
  Duration: 01:56:36.00, start: 0.000000, bitrate: 6912 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 1920x1080, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0.1(eng): Audio: pcm_s24le, 48000 Hz, 6 channels (FL|FR|FC|LFE|BL|BR), s16, 6912 kb/s
    Stream #0.2(eng): Audio: ac3, 48000 Hz, 5.1, s16
    Stream #0.3(eng): Audio: ac3, 48000 Hz, stereo, s16
    Stream #0.4(eng): Audio: ac3, 48000 Hz, stereo, s16
    Stream #0.5(eng): Subtitle: 0x0000
    Stream #0.6(eng): Subtitle: 0x0000
    Stream #0.7(eng): Subtitle: 0x0000
File 'test.wav' already exists. Overwrite ? [y/N] y
Output #0, wav, to 'test.wav':
    Stream #0.0(eng): Audio: pcm_s16le, 48000 Hz, 5.1, s16, 4608 kb/s
Stream mapping:
  Stream #0.1 -> #0.0 [sync #0.0]
Press [q] to stop encoding
size=   67500kB time=120.00 bitrate=4608.0kbits/s    
video:0kB audio:67500kB global headers:0kB muxing overhead 0.000064%
Now when I do this with a BR that everything works, I get a great M4A or WAV track, but with these 3 and a few others I get garbled tracks, but some information is good. Here is a picture of the waveform, and you can see what I mean. This is what I get with those 3 BRs, but not others. I can also use every option possible in eac3to for endian, samplerate, etc, and still don't get good results.

EDIT: forgot to mention, if I use anydvd and eac3to, no problems. If I use makemkvcon backup and then eac3to, it can't parse the title. eac3to will list the titles and the contents, but when you then specify the title, like this:

eac3to 1)

It fails not being able to detect format of the title.
mike admin
Posts: 4075
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: MakeMKV v.11 LPCM audio track error.

Post by mike admin »

The next version of eac3to will support multi-channel LPCM in MKV properly.
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

OK, I will wait to test, but it still seems like there is an issue with makemkv on a few titles. Since I can get at the pcm data, without the header, and just use eac3to, or flac, or ffmpeg to read manually setting the endian, rate, bps and such, I should be able to get correct results, just with more work. But not on these few titles. I believe Ratatouille was also this way.

I will report back, I havet kept those titles next to my desk and have not stored back in the basement yet!
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

So I have set aside those Kill Bill and Pixar BRs for now, but as I am backing up my entire BR library, I just came across RV. It has a PCM 5.1 track, and I wanted to test with ffmpeg reading from the mkv from makemkv directly, since it seemed when I was working with KB that ffmpeg was reading your wav header and channel mapping in the MVK. It works great.

I can convert to FLAC, or to M4a, or even to WAV from the mkv directly with ffmpeg and I don't even need to use any parameters to specify pcm format, or even need to use sox remix for channel mappings. Here is an example of my conversion to M4A 5.1 AAC using neroaacencoder.

Code: Select all

[rgarcia@fs2 RV]$ ffmpeg -vn -i title00.mkv -map 0.2:0.0 -ac 6 -v 0 -f wav - | neroAacEnc -q .9 -lc -ignorelength -if - -of hdaudio.m4a
*************************************************************
*                                                           *
*  Nero AAC Encoder                                         *
*  Copyright 2009 Nero AG                                   *
*  All Rights Reserved Worldwide                            *
*                                                           *
*  Package build date: Dec 17 2009                          *
*  Package version:    1.5.1.0                              *
*                                                           *
*  See -help for a complete list of available parameters.   *
*                                                           *
*************************************************************

FFmpeg version 0.5-rpmfusion, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic --extra-version=rpmfusion --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-vdpau --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-postproc --enable-swscale --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Oct 26 2009 01:33:29, gcc: 4.4.1 20090725 (Red Hat 4.4.1-2)
[matroska @ 0x1a26c80]Unknown/unsupported CodecID S_HDMV/PGS.

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
    Last message repeated 2 times
Input #0, matroska, from 'title00.mkv':
  Duration: 01:38:47.92, start: 0.000000, bitrate: 34608 kb/s
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 30000 kb/s, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16
    Stream #0.2(eng): Audio: pcm_s16le, 48000 Hz, 6 channels (FL|FR|FC|LFE|BL|BR), s16, 4608 kb/s
    Stream #0.3(eng): Audio: ac3, 48000 Hz, stereo, s16
    Stream #0.4(eng): Subtitle: 0x0000
    Stream #0.5(eng): Subtitle: 0x0000
    Stream #0.6(eng): Subtitle: 0x0000
Stream mapping:
  Stream #0.2 -> #0.0 [sync #0.0]
Press [q] to stop encoding
Processed 3927 seconds...
You can see my command is very simple, and this works for FLAC:

ffmpeg -vn -i title00.mkv -map 0.2:0.0 -ac 6 -v 0 hdaudio.flac

So very cool that ffmpeg, and hopefully eac3to in the future can read that header info makemkv is putting there.

That still leads me to believe that those KB and Pixar BRs have something that makemkv is choking on, but I won't get back on that horse until the latest eac3to comes out. ;-)
ragboy
Posts: 51
Joined: Wed Dec 30, 2009 12:59 pm

Re: MakeMKV v.11 LPCM audio track error.

Post by ragboy »

OK, I spoke a bit too soon. The channel mapping is a bit off. Not sure if that is an makemkv header error or ffmpeg.

FFMPEG reports this as the channel map of the PCM

(FL|FR|FC|LFE|BL|BR)

when I convert to WAV with ffmpeg, I end up with:

(FL|FR|FC|BL|BR|LFE) lfe should be 4th channel

and M4a ends up like this because nero is getting above wav data which is wrong:

(FC|FL|FR|BL|LFE|BR)

From what I have read, blu-ray PCM is:
(FL|FR|FC|BL|BR|LFE)

So either ffmpeg is reading the header info wrong, or the header info makemkv is inserting isn't correct, or there is a 3rd option that I am not aware of.

So then scrapping mpeg, and going back to using eac3to, I first use mkvextract:

mkvextract tracks title00.mkv --raw 3:pcmaudio.pcm

Then I do this:

eac3to pcmaudio.pcm pcmaudio.m4a -quality=0.9 -blu-ray

This remaps the channels correctly to either wav or m4a or flac, whatever you are converting to. Sometimes, eac3to can't read the paramaters of the pcm file, and you have to specify endian, bps, etc.

Code: Select all

[rgarcia@fs2 RV]$ wine32 eac3to pcmaudio.pcm pcmaudio.flac -blu-ray
Hooking GetModuleFileNameA failed (Invalid parameter).                         
Hooking WriteConsoleA failed (Success).                                        
This might be a RAW/PCM file. Trying to figure out the details.                
This will probably take a while. Please be patient...                          
The RAW/PCM file seems to be little endian.                                    
The RAW/PCM file seems to have a bitdepth of 16 bits.                          
The RAW/PCM file seems to have 6 channels.                                     
RAW/PCM, 5.1 channels, 1:38:48, 16 bits, 4608kbps, 48khz                       
Reading RAW/PCM...                                                             
Remapping channels...                                                          
Encoding FLAC with libFlac...                                                  
Creating file "pcmaudio.flac"...
I know I could just use the AC3 track on the BR, but what good would that be? :roll:
Post Reply