[MEncoder-users] How to convert mkv to mkv?

Carlo Wood carlo at alinoe.com
Thu Jun 28 18:19:07 CEST 2007


On Thu, Jun 28, 2007 at 05:34:27PM +0200, Moritz Barsnick wrote:
> On Thu, Jun 28, 2007 at 15:09:46 +0200, Carlo Wood wrote:
> > Yes, I found that (even before I mailed the first time) on the net;
> > and then I tried to find what to pass to mencoder to use mpeg4, but
> > I cannot find it.
> 
> Mencoder doesn't support MPEG4 containers natively, but uses
> libavformat to create them.
> -of lavf -lavfopts format=mp4

Actually, I had already found and tried that too... but it tells
me that it is buggy etc... I started to be so insecure about being
able to figure this out on my own that I subbed to this list with
the hopes to be sure I wasn't doing something totally wrong.

The error I get when using this option is:

hikaru:/opt/large/movies/The.Matrix.1999.DVD9.720p.HDDVD.x264-hV>mencoder the.matrix.1999.dvd9.720p.hddvd.x264-hv.mkv -vf crop=1254:528:13:0,scale=608:256,hqdn3d=2:1:2 -ofps 24000/1001 -oac copy -ovc x264 -x264encopts subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b:threads=4:bitrate=3697:pass=1 -of lavf -lavfopts format=mp4 -o /dev/null
MEncoder dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU           @ 2.66GHz (Family: 6, Model: 15, Stepping: 7)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

success: format: 0  data: 0x0 - 0xfc7a32fa
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC) "The Matrix", -vid 0
[mkv] Track ID 2: audio (A_AC3) "AC3 5.1", -aid 0, -alang eng
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [avc1]  1280x528  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:31  fourcc:0x31637661  size:1280x528  fps:23.98  ftime:=0.0417
** MUXER_LAVF *****************************************************************
If you wish to use libavformat muxing, you must ensure that your video stream
does not contain B frames (out of order decoding) and specify:
    -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
on the command line.
REMEMBER: MEncoder's libavformat muxing is presently broken and will generate
INCORRECT files in the presence of B frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
Cannot initialize muxer.
Exiting...


I have no idea if the input file has "B frames" whatever they are - or
that the above warning only refers to the output file(?).

How can I find out if the original mkv file has B frames? And does this
warning refer to the input file at all?

[...]
> > Also, I read that H.264 had extensions that go beyond mpeg4, so
> > I am confused :/. I want those extensions, of course. Is there
> > anything else wrong with my commandline?
> 
> Are you confusing container format and codec now? If you're encoding
> into Matroska (a container format), you should ignore the above. :-)

Uhuh - there are two different things with the same name?
The file that I have ends on .mkv, I believe it is a Matroska container.
Doesn't that mean that it is x264 ?

>From the file name I'd expect it is: the.matrix.1999.dvd9.720p.hddvd.x264-hv.mkv

There is a 'x264' in the name ;)

How can I find out what the codec of the original is then?

-- 
Carlo Wood <carlo at alinoe.com>



More information about the MEncoder-users mailing list