This killed me for probably a 100+ hours so I'm putting the problem and solution here in the hopes that it will come up for others in Google searches etc.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Background:
Digital Still Cameras for the last couple of years have been able to record video. The cameras put the video (and usually PCM aka RAW audio) in either Quicktime (MOV) or AVI containers.
The video codec is usually Motion JPEG (FourCC:MJPG) because the chip in the camera usually makes JPG and making Motion JPEG is a trivial extension since MJPEG is close to sequential JPEGs.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Technical hurdle on the PC:
To be able to play video or audio you need to have a de-compressor to understand the container (eg MOV, AVI) AND a de-compressor for each stream in the container.
Container examples: "MOV" –QuickTime Movie, "AVI" – Windows’ implementation of the “RIFF” format.
video examples: "M2V" -mpeg2 video, "MJPG" - Motion JPEG.
audio example: "PCM" - raw audio, "AC3" - Dolby Digital audio.
The algorithm is either built into the tool (eg MOV decode in QuickTime, Adobe & free tools like MPlayer etc) OR it has to be present as installed component on the PC.
On Windows there are TWO sorts of CODECs. The original "Video For Windows" (VfW) and DirectShow.
Editing tools (in general) ONLY work with VfW codecs.
Windows XP, Vista and Win7 all ship with DirectShow MJPEG codecs, but not VfW ….so easy to watch but you can’t EDIT.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The problem:
So you have these MOV[ MJPEG + PCM ] or AVI[ MJPEG + PCM ] files and want to edit them to do something as simple as put them on a DVD for mom to see the new baby.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
25th Jan 2012 - !!!UPDATE!!!
Look at post #51 onwards on how you can use QuickTime to get this to work too...
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The solution:
You can buy a VfW Motion JPEG decoder (eg http://www.morgan-multimedia.com/M-JPEG2000/index.htm )
OR you can get it in freeware.
FFDshow ( http://sourceforge.net/projects/ffdshow/ ) uses the libavcodec library developed in the FFmpeg Movie Player ( http://ffmpeg.org/ ) open-source effort. The libavcodec library has TONS of codecs. It is better known for its MPEG4, Xvid, DivX but it also has a lot of others. One of those “others” is MJPG.
The FFDshow project takes that decode (and in some cases encode too) capability and presents them as VfW (as well as DirectShow) codecs!
Viola, you now have the ability to understand MJPEG in video editing tools. (and tons of other codecs if you enable them).
The only thing you need to do after installation is go to the Start Menu’s “FFDShow VFW Configuration” and under the “Decoder” tab’s “Codecs” (at the top). Then on the right side scroll down to MJPEG and change it from “disabled” to “libavcodec”.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
An Aside:
This will become more and more important in the years to come because motion films are shot and delivered to digital cinemas as “2k”, “4k” or “8k” ( http://en.wikipedia.org/wiki/Digital_cinema ) in MOTION JPEG2000 ( http://en.wikipedia.org/wiki/JPEG_2000#Motion_JPEG_2000 ) . It’s only so long before INDIE film makers and then pro-sumers want to edit in these resolutions.
‘thanks for reading.
[EDIT - LeChineur had problems with this solution. Instead of you having to read this entire thread I'm putting an edit here to summarize the problem]
In the end it came down to this. LeChineur's FFDshow install didn't work. In summary:
Originally Posted by LeChineur
+ Reply to Thread
Results 1 to 30 of 54
-
-
Thanks for the thorough post. I've spent almost as many hours trying to solve the exact same problem.
I'm using Adobe Premiere Pro CS4 and trying to edit some videos I took with my Canon Powershot SD1000. I've tried every free codec that I can get my hands on... all to no avail. When I play the video from the Premiere timeline, I get audio but no video.
I was encourged when I first read your post. I downloaded and installed FFshow, but still the same thing. The only thing that I have found which works are the shareware/"for sale" codecs, such as Lead, Main Concept and Morgan.
Any other ideas on what might work? Thanks. -
lechineur, can you post a small sample please. mjpg is usable in most high end editors without any problem.
-
I would think it should be, but have had no luck with Premiere Pro. Here's a very short clip (contained in an AVI file). Perhaps you can get Premiere to play it. Thanks.
mvi_5068.avi -
vegas pro9 has no problem with it. i'll check pp next.
mvi_5068_vegas9.mp4 -
Sometimes the cameras provide MJPEG AVI files but the FourCC is not 'MJPG'. IIRC, Fuji and Canon sometimes do this. A hex editor can be used to change the FourCC in the AVI header or the association in the registry can be changed (for VfW, not DirectShow).
John Miller -
So, Minidv2dvd, you were actually able to get that file to play in Premiere Pro CS4? Amazing. What codec(s) do you have installed on your computer that allowed it to be decoded by PP?
I just got off the phone with Adobe support, where they said that PPCS4 was unable to decode an MJPEG file, and for that matter was unable to input a even Microsoft AVI file. After assuring me that they are constantly working on product improvements, Adobe tech support's only recommendations were to transcode the file with Adobe Media Encoder CS4 into an acceptable format (with resulting quality degradation) or purchase and install a 3rd party codec.
Sounds a bit incredible that their premium NLE product would be so limited, especially since they apparently license their MPEG2 encoder from Main Concept, the same people that make a MJPEG codec. I actually tried the Main Concept trial version and it seems to work. Perhaps that is the way I will have to go. Thanks for your help. -
Works for me on PP CS4 too...
A little test: I disabled mjpg in the ffdshow vfw configuration, deleted clip from the bin and re-imported it - and it didn't play properly (although it displayed the 1st frame). Then I re-enabled mjpg in the ffdshow vfw config, and re-imported the clip and it worked. So this mini test suggests that PP is using vfw for decoding
(try enabling mjpg => set to libavcodec in the ffdshow vfw configuration , it's the yellow icon, not the regular red icon)
Also, are you using the regular version or a trial? The trial may have some features non functional
Other methods of getting files into PP:
1) Lossless import. No need to buy some more products for worse quality when you already shelled out for their expensive editor already! MPEG2 is lossy. You can do it for free in vdub. E.g. encode to a lossless intermediate like lagarith or huffyuv; there is no quality loss, but you need lots of free HD space. Free
2) Premiere avs import plugin. With avisynth, virtually any file type can be opened in PP. Requires basic scripting knowledge , but for your purposes it's a 1 simple line, saved as a text file , with the extension renamed to .avs. Free
AVISource("video.avi")
http://videoeditorskit.sourceforge.net/ -
I edit mine in AviDemux and VirtualDub - video and audio both work perfectly.
-
Originally Posted by LeChineur
Do this check for me - see if you can open your file in Windows Movie Maker, it too needs VfW codecs and it too showed the first frame and played the audio before I had FFDshow installed and configured for MJPEG decode for VfW.
I was able to open your sample in Windows Movie Maker on my work PC - which has FFDshow on it. When I get home from work I'll see if it works on Adobe PP.
I am concerned now about your codec installs.
[EDITED - I'm Deleteing a whole ton of comments about VfW and merit here because it is wrong. VfW doesn't have Merit, only DirectShow does.]
You shouldn't have to do any intermediate or recontainering to solve this problem!
[EDITED - Deleted theory about Adobe's non AVI support. It does with ImporterAVI.prm] -
I looked at your AVI with MediaInfo and the FourCC is correct.
[EDITED - Deleted wrong assumptions about merit and adove AVI support][s:01f5bcd61d]Assuming that FFDshow is the highest preference, the problem is AVI. It seems that your problem is with the AVI container. There seems to be no native AVI container support in PP. Since that (apparently) doesn't exist, it means that we need to work out how to get PP to open AVIs using VfW drivers. I don't know if it's possible for PP to fall back to the system's driver to decode containers. The AVIsynth solution above adds a new DLL (prm) import plugin that supports a new container. I create PP filter plugins so I'll have a look at the import plugin part of the docs to see how hard it is to add a AVI.prm to support that container. (why Adobe didn't do that 19 years ago is beyond me).[/s:01f5bcd61d]
Code:General Complete name : C:\mvi_5068.avi Format : AVI Format/Info : Audio Video Interleave File size : 4.90 MiB Duration : 2s 667ms Overall bit rate : 15.4 Mbps Mastered date : SUN JUL 12 16:54:44 2009 Writing application : CanonMVI06 Video ID : 0 Format : M-JPEG
Code:Codec ID : MJPG
Code:Duration : 2s 666ms Bit rate : 14.7 Mbps Width : 640 pixels Height : 480 pixels Display aspect ratio : 4:3 Frame rate : 30.000 fps Resolution : 24 bits Scan type : Progressive Bits/(Pixel*Frame) : 1.597 Stream size : 4.68 MiB (95%) Audio Format : PCM Format settings, Endianness : Little Format settings, Sign : Unsigned Codec ID : 1 Codec ID/Hint : Microsoft Duration : 2s 667ms Bit rate mode : Constant Bit rate : 705.6 Kbps Channel(s) : 1 channel Sampling rate : 44.1 KHz Resolution : 16 bits Stream size : 230 KiB (5%) Interleave, duration : 889 ms (26.67 video frames) Interleave, preload duration : 1000 ms
-
So, Minidv2dvd, you were actually able to get that file to play in Premiere Pro CS4? Amazing. What codec(s) do you have installed on your computer that allowed it to be decoded by PP?
did you try installing ffdshow and then rebooting?
here it is playing from the timeline.
2009-08-19_145123.jpg -
oh. you definitely need to exit PP and re-enter. PP caches all plugins on startup. As mentioned above, a PC reboot wouldn't be a bad idea either.
-
-
Originally Posted by minidv2dvd
My PC uses AviSplitter.ax to pull the AVI file apart
My PC uses FFDshow to decode the MJPEG
My PC uses the MS quartz.dll to draw the decoded image to the screen. (iirc, quartz was the internal name for the MS windows manager a long time ago, so that makes sense). -
Hey, this is interesting...
I just turned OFF FFDshow's support for MJPEG in the DirectX settings (the RED config, not the Yellow VfW one) and as expected the FFDshow now doesn't work and the default one (quartz.dll) kicks in.
This would suggest that Gspot is showing the DirectX NOT the VfW decode decision tree. So I think Gspot, in this case, is giving us false readings.
-
Originally Posted by rallymax
-
if you right click on the src line with the quartz.dll decompressor/renderer and select play, it should work fine and play the preview. nothing else is required.
-
Originally Posted by minidv2dvd
minidv2dvd I think I shouldn't have said "wrong" in reply to your Gspot post. I meant, assuming you have FFDshow installed and VfW decode for MJPEG set to libavcodec then quartz.dll isn't used. So in your case, if FFDshow isn't installed then yes, it just works.
So, I agree that MJPEG will play using the MS quartz.dll to decode the MJPEG. I don't see how that is relevant since it seems that Gspot is showing the DirectX codec path, not the VfW path. (which was my point). The DirectX/DirectShow MJPEG decoder in quartz.dll works but quartz.dll can't be used in video editors because it doesn't present as a VfW codec, which is what they need - and the root reason for my original creation of this thread.
I know for sure that FFDshow adds the necessary MJPEG decoder for VfW so that WinMovieMaker and Premiere can open files, what's not clear today is how Premiere is dealing with the AVI container.
[EDITED - This is all wrong. Premiere can open AVI files just fine using ImporterAVI.prm[s:5c36b8e702]I suspect that because in CS3 onwards that native DV workflow was added to Premiere that Adobe built in the capability to understand how to de-container AVI and pull out DV video streams (since most DV captures were AVI containered). If that native AVI understanding was limited to video streams inside the file that are of type DV then that would explain why Premiere can open "some" AVI files, but not ALL AVI files (since only the video codecs natively built into Premiere would be called from the native AVI support). It seems that for Quicktime MOV containers that the native support DOES go off to VfW for the decoder and that's why it works. To phrase another way - I wonder if Adobe's native AVI support (if it exists) knows how to go to VfW if the video stream inside that container is NOT one of the types that is also natively supported (like DV).[/s:5c36b8e702]
It's kinda frustrating because AVI with MJPEG video & PCM audio was THE most common video type edited on Premiere back in the late 80's / ealy 90's and now it's gone. Back then we had mega fast (read $$$$) Barracuda Ultra-SCSI hard disks so that it was possible to capture MJPEG without dropping frames. These days those datarates are tiny compared to what is possible for sustained hard disk transfer on the cheapest of drives. -
Originally Posted by Gavino
-
Man, it's great to see so many responses. Encouraging especially, because the poor guys at Adobe's tech support didn't appear to be even half as imformed as those that have offered ideas here.
I just got back home and it will take me a little time to check out the various ideas posted here, but I will let you know what I find. I am using the full version, not a trial, of Adobe Creative Suite 4 Production Premium. As I think someone said, it is quite surprising that such an advanced version of Premiere doesn't handle file formats that are so common. I too have used Premiere from way back and seldom ran into hurdles like this with their older versions.
I wasn't too encouraged after talking with Adobe tech support yesterday. I feel more optimistic now. Thanks again. -
So I had a chance to digest the posts and try a few things. Thank you all very much. Unfortunately, nothing has worked yet. I still only get a still frame and just audio when I play the file on the PP timeline.
I tried enabling and disabling the Libavcodec for the MJPEG format in the FFDShow vfw configurer. I even rebooted my system after each change.
I imported the file into Windows Movie Maker. It played fine on the WMM timeline... both with and without the Libavcodec enabled, so it must be using another codec as well.
For the Direct Show Filters, I increased the merit level for FFDSHOW VFW Decoder Helper to "preferred" in Radlight FM, then rebooted. I even tried resetting the merit level for the MJPEG Decompressor (which currently uses quartz.dll, as does the AVI Decompressor and many other formats) to "do not use," to see if that would force PP to use the Libavcodec. I did notice that details for Main Concept"s MPEG codec (ad2mcdsmpeg.ax) indicates that it is used by PP, but I can't see any indication of what PP is using for decoding the AVI files. Again, it makes me wonder why Adobe didn't license MC's MJPEG codec (which, once again, worked in the trial version).
There must be some reason that Rallymax was able to play the file on his system within the PP and WMM timelines, and why it didn't play when the Libavcodec was disabled. Obviously the Libavcodec is not being superceded by another codec on his system. It appears that whichever codec is using the quartz.dll on my system must be taking priority over the Libavcodec. The question is how to change that priority and/or disable that other codec. -
have you tried the .mov files the camera produces in pp?
also in your - Adobe\Adobe Premiere Pro CS4\Plug-ins\Common folder is there an ImporterAVI.prm file dated 5-29-2009? -
What ffdshow build revision are you using? Perhaps try another build
Perhaps try uninstalling/reinstalling PP ? Pay special attention to the install options - when you install one of the suites, there is a whole bunch of optional junk, not sure if one of them refers to this mjpg scenario
To my knowledge, vfw type codecs don't have merits or priorities. For vfw type codecs , you can use vcswap to manage. graphstudio / radlight / gspot only display directshow filters. You can check, the appropriate dll is ff_vfw.dll , not ffdshow.ax (the .ax refer to directshow filters) . Use vcswap this to make sure other confliciting vfw filters are disabled. If you see many filters, it maybe that you previously had a codec pack installed. Try uninstalling that and re-install ffdshow.
Another test to ensure your vfw system is working properly to decode that video is to check in avisynth, and open the avs. in a media player or vdub
AVISource("video.avi")
You could check with vdub directly on the avi (vdub uses vfw as well), but if you have any of the plugins installed (e.g. vdub directshow filter) it may complicate the analysis
Similar Threads
-
Compress movies in Adobe Premiere the same as Windows Movie Maker
By ckeen in forum Newbie / General discussionsReplies: 4Last Post: 13th Jun 2012, 20:11 -
Trying to edit a movie on windows movie maker (Canon Vixia HF R20)
By Classic in forum EditingReplies: 1Last Post: 8th Mar 2012, 12:07 -
How can I get videos from Picture Motion browser to Windows Movie maker?
By AuraTodd in forum Video ConversionReplies: 6Last Post: 13th Mar 2010, 05:29 -
how to i convert Video_ts files to something Windows Movie Maker can edit
By debbie_g in forum Newbie / General discussionsReplies: 3Last Post: 22nd Oct 2009, 13:07 -
Windows Movie Maker will not edit WMV1
By karebo in forum EditingReplies: 1Last Post: 7th Jun 2009, 11:23