So I had to throw this together real quick yesterday for an upcoming project where we were going to be parsing the batch capture CSV files from Premiere and wanted to know the in, out, and total duration of video clips. It basically takes a video in and out timecode and converts it to seconds. For proper accuracy you need to make sure you alos know the frames per seconds.
//Test values
var inTime:String = “02;00;00;00″;
var outTime:String = “02;10;30;15″;
//————————————-
//CONSTANTS
//————————————-
var _timecodeDelineator:String = “;”;
var _frameRate:Number = 30;
//————————————-
//FUNCTIONS
//————————————-
function convertTimecodeToSeconds( p_code:String, p_frameRate:Number = 30 ):Number
{
var time:Number = 0;
var splitArray:Array = p_code.split( _timecodeDelineator );
trace(“splitArray: ” + splitArray);
//hours (1 hr = 3600 seconds)
time += splitArray[0] * 3600;
//minutes (1 min = 60 seconds)
time += splitArray[1] * 60;
//seconds
time += int( splitArray[2] );
//frames (target / actual = % seconds)
time += splitArray[3] / p_frameRate;
trace(“time: ” + time)
return time;
}
function getDurationFromTimecode( p_in:String, p_out:String, p_frameRate:Number = 30 ):Number
{
var inNum:Number = convertTimecodeToSeconds( p_in, p_frameRate );
trace(“—”);
var outNum:Number = convertTimecodeToSeconds( p_out, p_frameRate );
return outNum – inNum;
}
var dur:Number = getDurationFromTimecode( inTime, outTime, _frameRate );
trace( “TOTAL DURATION: ” + dur );