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

Gilles Pelletier pellgill at gmail.com
Thu May 8 04:11:13 CEST 2008


On Tue, May 6, 2008 at 1:42 PM, Vince Gatto <vgatto at gmail.com> wrote:
> 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.
>  _______________________________________________
>  MEncoder-users mailing list
>  MEncoder-users at mplayerhq.hu
>  https://lists.mplayerhq.hu/mailman/listinfo/mencoder-users
>

The only way I found to solve this problem is to pass both videos
through a standard encoder command:
mencoder in.avi -ofps 30000/1001 -ovc lavc -lavcopts
vcodec=mjpeg:vbitrate=2554 -vf scale=640:480 -oac mp3lame -o out.avi



More information about the MEncoder-users mailing list