VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 54
Thread
  1. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    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
    This got me thinking. So I checked and I indeed did not have the ff_vfw.dll on my system. So I uninstalled the version 3.054 of FFDShow (dated 08/04/2009) which was installed on my system, downloaded and installed version 3.052 (dated 08/03/2009) and voila, I then had the ff_vfw.dll.

    That solved the problem. PP now plays the video clip fine, as well as all the other "AVI" (MJPEG) clips from my Canon camera. Incredible!

    So rallymax, your original post was in fact correct. Why the version of FFDShow that I first downloaded didn't install the correct dll the first time is still a mystery, but whatever...
    Quote Quote  
  2. Member
    Join Date
    Aug 2009
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  3. lechineur, can you post a small sample please. mjpg is usable in most high end editors without any problem.
    Quote Quote  
  4. Member
    Join Date
    Aug 2009
    Location
    United States
    Search Comp PM
    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
    Quote Quote  
  5. vegas pro9 has no problem with it. i'll check pp next.





    mvi_5068_vegas9.mp4
    Quote Quote  
  6. 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
    Quote Quote  
  7. Member
    Join Date
    Aug 2009
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  8. 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/
    Quote Quote  
  9. Member hech54's Avatar
    Join Date
    Jul 2001
    Location
    Yank in Europe
    Search PM
    I edit mine in AviDemux and VirtualDub - video and audio both work perfectly.
    Quote Quote  
  10. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    Originally Posted by LeChineur
    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
    I'm bringing in MOV containers from my camera so I can't attest to their assertion that AVI containers with MJPEG are not supported - I do recall this happening to me though; at the time I just assumed that PP had no support for the codec inside the AVI.

    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]
    Quote Quote  
  11. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    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
    [s:01f5bcd61d][/s:01f5bcd61d]
    Quote Quote  
  12. 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?
    yes it plays fine on the timeline. nothing special, it looks like gspot says the codec used for mjpeg files is the m.s. quartz.dll it's on all windows system afaik.

    did you try installing ffdshow and then rebooting?
    here it is playing from the timeline.



    2009-08-19_145123.jpg
    Quote Quote  
  13. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  14. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    Originally Posted by hech54
    I edit mine in AviDemux and VirtualDub - video and audio both work perfectly.
    If I recall correctly, both of those tools have compiled in native support by leveraging the libavcodec.a from the FFmpeg project (as FFDshow does). That's why for those two programs you don't need FFDshow to add VfW support - it's already natively in the program.
    Quote Quote  
  15. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    Originally Posted by minidv2dvd
    yes it plays fine on the timeline. nothing special, it looks like gspot says the codec used for mjpeg files is the m.s. quartz.dll it's on all windows system afaik.
    I just put the test file into Gspot (thanks for telling me about it!)... I think you've interpreted the info wrong though.


    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).
    Quote Quote  
  16. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    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.


    Quote Quote  
  17. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by rallymax
    Originally Posted by hech54
    I edit mine in AviDemux and VirtualDub - video and audio both work perfectly.
    If I recall correctly, both of those tools have compiled in native support by leveraging the libavcodec.a from the FFmpeg project (as FFDshow does). That's why for those two programs you don't need FFDshow to add VfW support - it's already natively in the program.
    True for AviDemix, but not for VirtualDub.
    Quote Quote  
  18. 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.
    Quote Quote  
  19. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    Originally Posted by minidv2dvd
    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.
    [edited to clean up my response]
    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.
    Quote Quote  
  20. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Gavino
    Originally Posted by rallymax
    Originally Posted by hech54
    I edit mine in AviDemux and VirtualDub - video and audio both work perfectly.
    If I recall correctly, both of those tools have compiled in native support by leveraging the libavcodec.a from the FFmpeg project (as FFDshow does). That's why for those two programs you don't need FFDshow to add VfW support - it's already natively in the program.
    True for AviDemix, but not for VirtualDub.
    Does VirtualDub use native decoders or does it rely on DirectShow or VfW codecs?
    Quote Quote  
  21. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by rallymax
    Does VirtualDub use native decoders or does it rely on DirectShow or VfW codecs?
    It uses only VfW codecs.
    Quote Quote  
  22. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    The video file ran fine in my PP CS3 so I think you have a codec priority problem or you've configured "FFDshow VFW configuration" incorrectly.
    Quote Quote  
  23. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    This is what the FFDshow VfW configuration should look like.

    Quote Quote  
  24. Member
    Join Date
    Aug 2009
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  25. Member
    Join Date
    Aug 2009
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  26. 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?
    Quote Quote  
  27. Member M Bruner's Avatar
    Join Date
    Oct 2008
    Location
    United States
    Search Comp PM
    Itried your test file in laptop, which only has PP CS3 and the ffdshow installed. It worked with video and audio.
    There are no problems - only chances to excel.
    -- Unknown
    Quote Quote  
  28. 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
    Quote Quote  
  29. Member
    Join Date
    Sep 2008
    Location
    United States
    Search Comp PM
    I grabbed vcswap and it didn't show any VfW binding for fourCC "mjpg" even though FFDshow in installed and configured for VfW MJPG decode.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!