Log in

View Full Version : AVISource couldn't locate a decompressor for fourcc MJPG


billcotter
7th January 2022, 21:37
I'm sure there's a simple cure for this but so far I'm striking out. I had put Avisynth on an older computer a while back to test it out, and after using Videofred's amazing scripts I wanted to put it on a newer, faster box. It runs perfectly on the old box but gives the above error message on the new one.

I have tried to make sure all of the codecs on the old one are on the new one, but it's still not working. I can open the file (an AVI) just fine in Virtualdub2 or a host of other programs, but Avisynth doesn't seem to find a codec for it. It opens without any issue on the old box. I also tried an MP4 and it just said it couldn't open it, no detailed error message.

Any help in pointing me towards what I'm missing would be appreciated. I must have solved this in the past but for the life of me I'm hitting a wall just now.

Avisynth is version 2.60.

Thanks

Bill

StainlessS
7th January 2022, 21:47
You could try this:- https://www.free-codecs.com/motion_jpeg_codec_download.htm
No idea what it contains, aint used MJPG for long time.

However, I'm guessin that LSMash or FFMS open it ok.

LSmash & FFmpegSource both here
http://avisynth.nl/index.php/External_filters#Source_Filters

EDIT: For LSMash, use the LWLibavVideoSource() function,
LSMashVideoSource() is just for ISO [ie MP4 and similar] files.

qyot27
7th January 2022, 22:32
AVISource uses the Video for Windows interface to negotiate hooking up a decoder to the source filter. You need to have a VfW MJPEG codec installed. ffmpeg-based programs have a built-in decoder for it, and likely VDub2 also does (possibly ffmpeg; it does have an ffmpeg input plugin), bypassing VfW entirely. Standalone MJPEG codecs could have been installed through any number of different software packages or companion discs that came with hardware like capture cards.

The way I usually resolved this was by making sure the ffdshow(-tryouts) VfW codec was installed and configured to decode MJPEG, but that's A) really old and B) the 64-bit version was reportedly pretty flaky. It would be nice if a more streamlined VfW package using up-to-date ffmpeg could show up (like how ffdshow's main DirectShow codecs were superseded by LAV Filters), but I'm not holding my breath.

FFMS2 and LSMASHSource rely on ffmpeg's decoders to handle things, so those - like VDub2 - will sidestep this entirely.

billcotter
7th January 2022, 22:41
Thanks, StainlessS. The first one asked for a serial number but didn't say how to get one. I've downloaded your other two suggestions but they appear to need changes made to Fred's script. I'm trying to get the new box to work like the old one so there has to be something I failed to install that wouldn't need a script change. I can try adding those later if nothing else turns up but I am a newbie at the scripts. Thanks for the suggestions.

billcotter
7th January 2022, 23:15
Ok, thanks to the comments above, I took a closer look at the settings for ffdshow. I had to enable the MJPEG for libavcodec, and the file has now loaded. Thanks for the suggestions that got me going in that direction.

StainlessS
7th January 2022, 23:26
I dont usually bother to find codec or mess with LSMash nor FFMS when problem clips,
[LSmash and FFMS, can sometimes have their own problems - life's just too short for such things]
I use this (req FFMPEG.exe and UT_Video Video for windows codec)

_CLIP_To_UT_YV12_D.cmd [I use this one most, "_" at beginning sorts it to top of list in Windows Explorer]

setlocal

REM Where to Find ffmpeg
set FFMPEG="C:\BIN\ffmpeg.exe"

REM Where to get input file, No terminating Backslash, "." = current directory
set INDIR="."


REM Where to place output file, No terminating Backslash.
set OUTDIR="D:"


FOR %%A IN (*.wmv *.mpg *.avi *.flv *.mov *.mp4 *.m4v *.RAM *.RM *.mkv *.TS *.ogv *264 *.webm *.m2v *.VOB) DO (
%FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"

)

Pause


Or here, an expanded demo version, with a few clues on usage.

Demo.Cmd ( or Demo.bat )

REM https://forum.doom9.org/showthread.php?p=1908619#post1908619
REM We DO NOT LIKE SPACES IN FILE NAMES (REM == REMark ie comment)
REM We DO NOT LIKE ACCENTS IN FILE NAMES.


setlocal

REM Where to Find ffmpeg
set FFMPEG="C:\BIN\ffmpeg.exe"

REM Where to get INPUT files, No terminating Backslash, "." = current directory (ie same as dir .bat file)
set INDIR="."

REM Where to place OUTPUT files, No terminating Backslash. "." would be same as .bat file, ".\OUT" = OUT folder in same directory as bat file.
set OUTDIR="D:"

REM Below, can add INPUT extensions as eg *.WEBM (SPACE separated, Batch Processes all INPUT type files in INDIR)
FOR %%A IN (*.AVI *.MKV *.MP4 *.MOV *.QT *.3GP *.DVB *.VOB *.MPG *.MPEG *M2P *.PS *.TS *.DIVX *.XVID *.FLV *.WMV *.ASF *.MXF) DO (

REM ****** Un-REM [ie SELECT] ONLY one of below lines, Comment out ie REM the remaining lines.
%FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec huffyuv -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec magicyuv -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec v410 -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec r210 -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec copy -acodec copy -sn "%OUTDIR%\%%~nxA.MKV"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec copy "%OUTDIR%\%%~nxA.MKV"
REM %FFMPEG% -i "%INDIR%\%%A" -vn -acodec pcm_s16le "%OUTDIR%\%%~nxA.WAV"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec rawvideo -f rawvideo -an "%OUTDIR%\%%~nxA.rawvideo"


REM *****************************************************************************************.

)
Pause

REM ... Above Command lines, What they do if UnREM'ed (and all others REM'ed, UnREM=UnCOMMENT ) :
REM (1) Convert Video to UtVideo lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (2) Convert Video to HuffYUV lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (3) Convert Video to MagicYUV lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (4) Convert Video to v410 Uncompressed 4:4:4 10-bit lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (5) Convert Video to r210 Uncompressed RGB 10-bit lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (6) Remux NO SUBTITLES, copy both video and audio but NOT subtitles(output MKV - see file extension at the end of the Remux line, ie MKV).
REM (7) Convert Video to UtVideo lossless, copy audio (output MKV).
REM (8) Skip any video, Convert Audio to 16 bit PCM (output WAV).
REM (9) Convert Video to rawvideo uncompressed, Convert Audio to 16 bit PCM audio (output y4m).
REM *****************************************************************************************.
REM In the UnREM'ed command Line [ie without a preceding REM]:-
REM '-vcodec utvideo' means convert video using utvideo codec.
REM '-vcodec copy' means copy video rather than convert.
REM '-vn' means no video output, use instead of eg '-vcodec utvideo'
REM '-acodec pcm_s16le' means convert audio using pcm_s16le codec.
REM '-acodec copy' means copy audio rather than convert.
REM '-an' means no audio output, use instead of eg '-acodec pcm_s16le'
REM The file extension at end of the line determines output container, eg '.AVI'
REM
REM From Command line with ffmpeg somewhere in your environment PATH:-
REM 'ffmpeg -codecs >D:\ffmpeg_codecs.txt'
REM Writes a txt file of ffmpeg available codecs to D:\
REM At start of txt file it shows a 'legend' or 'key' for codecs that can be used for video and audio,
REM use only ENCODING SUPPORTED codecs, prefereably LOSSLESS.
REM Supported codecs will vary with ffmpeg version.
REM *****************************************************************************************.


EDIT: I have a dedicated conversion folder where above type cmd/bat files live,
copy video files to convert into that folder,
execute appropriate cmd file,
Files Batch converted and sent to OUTDIR as AVI.
No messin' about.

billcotter
8th January 2022, 02:06
Thanks, will keep exploring and learning. I really appreciate the advice.

FranceBB
8th January 2022, 17:03
I dont usually bother to find codec or mess with LSMash nor FFMS when problem clips,
[LSmash and FFMS, can sometimes have their own problems - life's just too short for such things]

I remember when you've done this for me in 2016.
I still use it and it still saves me time. eheheheheh
And you're right, life is too short to spend it trying indexers XD