I own a not so new JVC Everio GZ-MG130 camcorder which records on an internal HDD and optionally on an SD card. I haven’t been using it for a long time, but recently we decided to bring it along and use it during our sailing trip in the British Virgin Island.
Once back home, while trying to utilize the JVC MOD files in iMovie and Final Cut Pro, I (re)discovered how much these Apple applications do not like the MOD format!
Both applications are actually able to import the MOD files when connecting the camera directly to the Mac or simulating a Camera Archive after having copied to files to the computer hard drive. However the imported movies are displayed with a wrong aspect ratio (4:3 instead of the correct 16:9) and in many cases the video quality is very degraded. The video size is also reported to be 720×576 (PAL), while it is actually 720×405.
The JVC MOD format (also used by Panasonic and Canon) is actually a standard MPEG encoded video with AC3 audio.
There are many threads on the Internet saying that simply renaming the MOD files to MPG will make them importable in many applications. Unfortunately iMovie and Final Cut Pro are not among them. iMovie may indeed import the renamed file, but the video will have the wrong aspect ratio, the quality will be low and the audio will often be missing.
The problem is that many video editing application, including the Apple ones, fail to properly interpret some information tags inside the MOD files. In particular, they do not interpret correctly how the aspect ratio is defined. Apparently the MOD files are indeed fully compliant to the MPEG ISO standard, so the fault is on the application side.
While searching the Internet for a solution, I stumbled across many commercial applications that claim to be able to solve the problem. I tried the trial version of few of them but they didn’t fully solve the issue.
There are also few free applications (like SDcopy.exe, which is Windows only) and MPEG Streamclip which unfortunately did not solve the problem either for me (the aspect ratio was still wrong once imported in iMovie).
Even if they had worked properly, none of these conversion applications has an option to preserve the creation/modification date of the original video. This is a problem because we also have some additional footage shot with a different underwater camera and we need to have both video sets sorted by date.
After many failed attempts, I found a fully working solution that can properly convert MOD files to MP4 with the right aspect ratio, so they are properly imported and handled by iMovie and Final Cut Pro. The even better news is that the solution is FREE! In fact it is based on ffmpeg which is freely available from the Internet. Binary code versions built for the Mac are readily available from many sources.
Additionally, in order to restore the original date/time of the converted files, we need a couple of free utility (GetFileInfo and SetFile), which usually come with the XCode developer package from Apple.
Here is a step by step guide on how to properly convert your JVC MOD files to MP4. At the end of the steps I show a way to make the whole conversion automatic through scripting.
Caveat: In order to follow these instructions you need to be a little bit familiar with the Mac Terminal and the shell.
1) Connect your JVC camera to your Mac and copy the MOD files (usually from the SD_VIDEO/PROGXXX structure) to a folder on your Mac HDD.
2) Download a binary version of ffmpeg. One possible source is here. Place it in the same folder with the MOD files.
3) Download a copy of GetFileInfo and SetFile, normally part of the XCode development tools. Place them in the same folder with ffmpeg and the MOD files. They are not strictly necessary, but are useful if you want your converted MP4 files to have the original date/time of the MOD files they come from. If you have the original OS X Installer Disk, the Developer Tools are in the Optional Installs folder on it.
4) Make sure ffmpeg, GetFileInfo and SetFile can be executed by issuing a chmod x+u within a terminal window.
chmod x+u ffmpeg
chmod x+u GetFileInfo
chmod x+u SetFileInfo
5) We are ready to convert our MOD files to MP4. Here are the ffmpeg parameters that worked perfectly for me.
./ffmpeg -i MOV001.MOD -s 720x405 -vcodec mpeg4 -b 2300k -deinterlace -aspect 16:9 -acodec aac -ab 192k -ar 44100 MOV001.mp4
This will create an MP4 version of MOV001.MOD with a resolution of 720×405 (which is incidentally a 16:9 aspect ratio) and with the original AC3 audio re-encoded to AAC. You can change the video and audio bit-rates if you need a higher quality.
The next steps are optional.
6) Get the original creation date/time and modification date/time of the MOD file with:
./GetFileInfo -d MOV001.MOD
./GetFileInfo -m MOV001.MOD
7) Apply the original creation and modification date/time to the converted MP4 file with:
./SetFile -d [put here the date/time from GetFileInfo -d]
./SetFile -m [put here the date/time from GetFileInfo -m]
8) Import your converted MP4 video into iMovie or Final Cut Pro and check how good it looks! It is time to congratulate yourself!
How to convert all MOD files in the folder at once!
To convert all the MOD files present in a folder to MP4 at once, you can use the following bash script (remember to make it executable with chmod x+u):
for src in `ls -d *.MOD` ;
echo Converting $src to $dest...
`./ffmpeg -i "$src" -s 720x405 -vcodec mpeg4 -b 2300k -deinterlace -aspect 16:9 -acodec aac -ab 192k -ar 44100 "$dest"`
ddate=`./GetFileInfo -d "$src"`
mdate=`./GetFileInfo -m "$src"`
echo Touching converted file to $ddate : $mdate
./SetFile -d "$ddate" "$dest"
./SetFile -m "$mdate" "$dest"
Let me know if it works for you. It did perfectly for me. Have fun!