[MEncoder-users] All video files must have identical fps, resolution, and codec for -ovc copy.

Vince Gatto vgatto at gmail.com
Tue May 6 19:42:38 CEST 2008


This might be a better post for the developer list, but hopefully
someone reading this is geeky enough to help out.   So I'm having a
problem joining two files using a pretty normal command:

mencoder -oac pcm -ovc copy -o joined.mp4 1.mp4 2.mp4

And I'm getting the error "All video files must have identical fps,
resolution, and codec for -ovc copy".   I've pasted the output below,
though I doubt it will be much help.  I'm 100% certain that these
files have the same fps, resolution and codec.  I went so far as to
edit the source code to dump some additional data about how mencoder
determines that two files are not encoded identically.  If you check
out mencoder.c, you'll find a section that compares the
BITMAPINFOHEADER structures of the files byte-for-byte.   As far as
the useful information in these structures are concerned, my files are
identical, except that they differ in structure size (the first
member, biSize).  Both of the files in question are using the avc1
codec, and were created by the same ffmpeg command (using libx264).
Snooping around the code some more, this extra data in the structure
is being added by demux_mov.c and is referred to as "stream header
data".   Does anyone know what that is or what it is used for?    When
I modify mencoder to check only the standard parts of
BITMAPHEADERINFO, my files join and play without a problem, but I'm
worried that I've removed or subverted something I don't really
understand and that could cause a problem with other files somehow.


And here's the output:

MEncoder 1.0rc2-4.0.1 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz (Family: 6,
Model: 15, Stepping: 11)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2


WARNING: OUTPUT FILE FORMAT IS _AVI_. See -of help.
success: format: 0  data: 0x0 - 0x1751b
Quicktime/MOV file format detected.
[mov] Video stream found, -vid 0
VIDEO:  [avc1]  640x480  24bpp  24.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:7  fourcc:0x31637661  size:640x480  fps:24.00  ftime:=0.0417
videocodec: framecopy (640x480 24bpp fourcc=31637661)
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not
writing vprp header.
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not
writing vprp header.
Quicktime/MOV file format detected.
[mov] Video stream found, -vid 0
[mov] Audio stream found, -aid 1
VIDEO:  [avc1]  640x480  24bpp  24.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:7  fourcc:0x31637661  size:640x480  fps:24.00  ftime:=0.0417
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
videocodec: framecopy (640x480 24bpp fourcc=31637661)
videocodec: framecopy (640x480 24bpp fourcc=31637661)

All video files must have identical fps, resolution, and codec for -ovc copy.



More information about the MEncoder-users mailing list