GH4 footage import problems


wwjd wrote on 6/12/2014, 11:02 AM
is this something we should ask Sony to fix? Or strictly a Panasonic based issue?
Sol M. wrote on 6/12/2014, 4:04 PM
Definitely Sony. The GH4's MOV files play fine in every other NLE/Media player I've tested, so this appears to be an issue specific to Vegas.
wwjd wrote on 6/12/2014, 5:39 PM
I just read if you use MP4 instead of MOV on GH4, it is exact same quality, but not the issue of oversized video. I have not tested this yet...

...but I see that is not an option in C4K
NickHope wrote on 6/12/2014, 10:26 PM
Using the MP4 file container, the same codecs are used as the MOV format, but Vegas reads is perfectly fine.

Not so here here when tested with VP10, MP4 (LPCM), C4K. I get the same import bug as with .MOV. Haven't tested other formats yet.

Sol M. wrote on 6/13/2014, 12:08 AM
Yes, I spoke too soon. Thought I had my camera set to 24p when testing, but it was actually set to 60p. I've gone through all recording modes and logged which modes are read properly by Vegas and which are not:

* NTSC: Only 30p and 60p modes are read properly (1080P and 4K)
* PAL: All modes are read properly
* Cinema: No modes are read properly

It looks like there's a specific issue with 24p files.

Using the FFMBC command in my previous post does resolve the issue though and all rewrapped files are read properly by Vegas.
NickHope wrote on 6/13/2014, 12:30 AM
Can you guys please file this as a bug report with SCS? Pretty pointless me doing it as I'm running 10.0e on an O/S that doesn't officially support it.
digitalera wrote on 6/25/2014, 9:31 PM

I can't run ffmbc.c from command line.

Is there an executable to use?


Sol M. wrote on 8/12/2014, 9:41 PM
Yes, you can download it from the link in my earlier post.
homeworld wrote on 9/14/2014, 8:48 AM
Has there been a solution to this Vegas bug? I'm about to switch to a different editing platform after being with Vegas for over a decade if there's no fix.
NickHope wrote on 10/19/2014, 12:10 PM
I have today tested all 64 formats that the GH4 (firmware 2.0) shoots. Every format that is 23.976p or 24p exhibits the bug. No problem with other frame rates. Both .mp4 and .mov exhibit the bug.

I have submitted a detailed bug report with screenshot and sample 24p file and will report back what the outcome is.
Sol M. wrote on 10/28/2014, 6:11 PM
Thanks for doing that Nick. Hopefully an update is released before too long so that we can avoid resorting to cludgy workarounds.
NickHope wrote on 11/26/2014, 12:10 AM
VP13 build 428 still has this problem.
Sol M. wrote on 11/26/2014, 1:51 PM
Darn. Have you received any sort of response to your bug report?
NickHope wrote on 11/26/2014, 9:59 PM
No, not even an acknowledgement, and I posted it more than 5 weeks ago on 19th October.
NickHope wrote on 12/10/2014, 10:10 PM
I finally got a reply today that includes "...This is a known issue and is being considered for future updates of Vegas...."
Sol M. wrote on 12/29/2014, 3:35 PM
Thanks for the update. I sure hope they consider fixing this issue well, as Vegas is currently off the table as a NLE option until this issue is fixed.
56speedster wrote on 1/3/2015, 6:38 PM
I am having this issue as well!
MarkHolmes wrote on 1/4/2015, 12:07 PM
I've experienced this problem with various QuickTime files in Vegas for YEARS. Long, long over due for a fix in "some future version of Vegas" a long time ago Sony.
cohibaman#1 wrote on 1/4/2015, 2:35 PM
Here is a link for the script for anybody using a GH4 that places the 4K footage onto the Vegas timeline, which seems to extend the video past the audio when it is imported:

Just add this script to the tool bar and use it when you highlight the video track and BEFORE any editing or FX's are applied. It will sync up the audio video automatically, as it should have been in the first place.
MikeyDH wrote on 1/4/2015, 7:36 PM
How do I get that zip file without adding yet another Google app to my machine, cohibaman?
cohibaman#1 wrote on 1/4/2015, 10:46 PM
Just copy the link I posted above into you browser and it will take you to the script in dropbox. When there click on the little arrow above the file name (the arrow doesn't show until you hoover your cursor above the file name) and the Zip file should start down loading. You shouldn't have to sign up for anything.
MikeyDH wrote on 1/5/2015, 11:41 AM
Thanks cohibaman. Totally missed that arrow on the first try, lol.
MikeyDH wrote on 1/5/2015, 3:49 PM
Protected file? Can't unzip it to work.
Warper wrote on 1/12/2015, 6:29 AM
I've not protected zip file, it downloads and unzips as zip folder in windows 7, even without archivators.
Nevertheless, here's the scrip source.
Copy it into notepad and save as GH4VideoLengthFix.js
Then copy created file into Vegas script menu (administration privilege on machine may be needed).

* Every video event on selected tracks is shrinked down to length of audio
* event grouped with it.
* Locked and ungrouped events are skipped.
* If there are more than 1 audio event in group, script tries to use the one
* starting in the same time as video event, but if there are no audio events
* at the start or more than one, video event is skipped.
* If there are more than 1 video event in group, events are skipped.
* Script does simple ripple - only video events and grouped audio events are
* affected, not any other stuff like keyframes, velocities, regions etc.
* Written By: Alexander Anikin
* Written: 03 June, 2014

import Sony.Vegas;

var pos : Array = new Array();
var len : Array = new Array();
var n = 0;
var x = 0;

for (var trackEnum = new Enumerator(Vegas.Project.Tracks); !trackEnum.atEnd(); trackEnum.moveNext())
var selectedTrack = trackEnum.item();
if (selectedTrack.Selected)
for (var eventEnum = new Enumerator(selectedTrack.Events); !eventEnum.atEnd(); eventEnum.moveNext())
var myVideo = eventEnum.item();
if (myVideo.IsVideo() && myVideo.IsGrouped && !myVideo.Locked)
var audioEventsCount = 0;
var audioEventsWithEqualStartCount = 0;
var videoEventsWithSelectedTrackCount = 0;
var myAudio : TrackEvent = null;
for (var groupedEnum = new Enumerator(myVideo.Group); !groupedEnum.atEnd(); groupedEnum.moveNext())
var groupedEvent = groupedEnum.item();
if (groupedEvent.IsAudio())
if (myAudio == null)
myAudio = groupedEvent;
if (groupedEvent.Start.Equals(myVideo.Start))
myAudio = groupedEvent;
else if (groupedEvent.IsVideo() && groupedEvent.Track.Selected)

if (audioEventsCount > 1 &&
audioEventsWithEqualStartCount != 1)
x++; // skip
else if (videoEventsWithSelectedTrackCount > 1)
x++; // skip
else if (myAudio != null && myVideo.Length > myAudio.Length)
len[n] = myVideo.Length.ToMilliseconds() - myAudio.Length.ToMilliseconds();
myVideo.AdjustStartLength(myVideo.Start, myAudio.Length);
pos[n] = myVideo.End.ToMilliseconds();


//simple ripple
for (var trackEnum = new Enumerator(Vegas.Project.Tracks); !trackEnum.atEnd(); trackEnum.moveNext())
var selectedTrack = trackEnum.item();
if (selectedTrack.Selected)
for (var eventEnum = new Enumerator(selectedTrack.Events); !eventEnum.atEnd(); eventEnum.moveNext())
var myVideo = eventEnum.item();
if (myVideo.IsVideo())
var shift = 0;
for (var i = 0; i < n; i++)
if (pos[i] < myVideo.Start.ToMilliseconds())
shift += len[i];
if (myVideo.IsGrouped)
for (var groupedEnum = new Enumerator(myVideo.Group); !groupedEnum.atEnd(); groupedEnum.moveNext())
groupedEnum.item().Start - Timecode.FromMilliseconds(shift),
myVideo.Start - Timecode.FromMilliseconds(shift),

catch (e)