This is an example script that resizes and adds black borders to all AVI files in a specified directory (and its sub-directories).
var _outputSizeX = 320;
var _outputSizeY = 240;
var _sourceDir = "C:/Test/input/";
var _sourceFileExt = "*.avi";
var _destinationDir = "C:/Test/output/";
function processFile(inputPath, outputDirectory)
{
var targetX = _outputSizeX;
var targetY = _outputSizeY;
var rX = width / targetX;
var rY = height / targetY;
var newX;
var newY;
if (rX > rY)
{
newX = targetX;
newY = Math.round(height / rX);
}
else
{
newY = targetY;
newX = Math.round(width / rY);
}
newX -= newX % 4;
newY -= newY % 4;
if (newX != width || newY != height)
{
var videoFilter = new SwscaleVideoFilter();
videoFilter.configuration.width = newX;
videoFilter.configuration.height = newY;
}
var barX = targetX - newX;
var barY = targetY - newY;
if (barX || barY)
{
var videoFilter = new AddborderVideoFilter();
videoFilter.configuration.left = barX >> 1;
videoFilter.configuration.right = barX >> 1;
videoFilter.configuration.top = barY >> 1;
videoFilter.configuration.bottom = barY >> 1;
}
audioOutput = new FaacAudioEncoder();
{
}
var directory =
new Directory(outputDirectory);
if (!directory.exists)
{
directory.makePath(outputDirectory);
}
}
function processDirectory(inputDirectory, inputExt, outputDirectory)
{
[inputExt],
for (var index = 0; index < entryInfoList.length; index++)
{
var fileInfo = entryInfoList[index];
if (fileInfo.isDirectory())
{
processDirectory(fileInfo.absoluteFilePath, inputExt, outputDirectory + fileInfo.baseName);
}
else
{
processFile(fileInfo.absoluteFilePath, outputDirectory);
}
}
}
processDirectory(_sourceDir, _sourceFileExt, _destinationDir);