[MEncoder-users] Loading of mjpg-videocodec?

Stefan Neufeind mencoder at stefan-neufeind.de
Sat Oct 28 02:03:13 CEST 2006


Hi,

I've been trying to convert a avi-file with videocodec Motion JPEG using
mencoder. That did not succeed.
(If somebody would like to give it a try, I can provide a demo-file in
private ...)

mencoder gives:


MEncoder 1.0pre8-3.4.5 (C) 2000-2006 MPlayer Team
CPU:                   Intel(R) Xeon(TM) CPU 2.40GHz (Family: 15, Model:
2, Stepping: 5)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0  data: 0x0 - 0x3d2000
AVI file format detected.
AVI: Missing video stream!? Contact the author, it may be a bug :(
============ Sorry, this file format is not recognized/supported
=============
=== If this file is an AVI, ASF or MPEG stream, please contact the
author! ===
Cannot open demuxer.

Exiting...


What should I conclude from that? Is mencoder sure it doesn't have the
codec? However from the full codecpack (all-20061022.tar.bz2) I've
installed mcmjpg32.dll in the appropriate directory. Other win32-codecs
from that directory work fine.

What could be the cause that mencoder does not try to load the codec?
Are only the codecs from the essential-package automatically recognised
by mencooder? Do the others need to be "enabled" using a codecs.conf?
And if yes, what should that look like?

I've tried creating an ~/.mencoder/codecs.conf with just the lines

videocodec mjpeg
  info "Motion JPEG"
  fourcc MJPG
  driver vfw
  dll "mcmjpg32.dll"
;  dll "m3jpeg32.dll"
  out YUY2 noflip
  out RGB32,RGB24,RGB15 noflip

in it. mencoder said that config-file was invalid in line 1 - strange.
Those lines were picked from

http://svn.mplayerhq.hu/mplayer/trunk/codecs.conf?view=markup&rev=298&pathrev=298

In the head of that file there is a reference to codecs.c. And even in
there the motion jpeg-codec is mentioned:

	case mmioFOURCC('M', 'J', 'P', 'G'):
	  printf("Video in MJPEG format\n");
          avi_header.yuv_supported=1;
//		    return "M3JPEG32.dll";
          return "mcmjpg32.dll";
//          return "m3jpeg32.dll";
//          return "libavi_mjpeg.so";

Calling the commandline-tool "strings" on my videofile gives

RIFFx
AVI LIST
hdrlavih8
LISTl
strlstrh0
vidsmjpg
strf(
MJPG
LIST^
strlstrh8

which is  suppose is fine - there is MJPG in there ...




Regards,
 Stefan



More information about the MEncoder-users mailing list