Generating Proxies with FFMpeg and PowerShell
In video editing proxies are used in place of high-resolution footage to reduce the strain on your system while editing. It makes timeline scrubbing much faster.
For the podcast, I usually use the BlackMagic Proxy Generator Lite, and create half-res versions of the source files. For combined ~2 hours of footage (one of myself, and another of my guest) it takes about 30 minutes to generate the new video files.
But using this tool also means that I have to manually open the tool, and drag-n-drop stuff around...
I'm already using some trivial powershell scripts to do other bulk conversions, but I've not wired that up for generating proxies. Until today.
mkdir Proxy;
foreach ($input in Get-ChildItem *.mp4) {
$output = [io.path]::ChangeExtension($input.FullName, '.mov');
ffmpeg -hwaccel d3d11va -i $input.FullName -c:v h264_amf -s 960x540 -an $output;
};
mv *.mov Proxy;
I'm using the AMD video card, so I'm leveraging the DirectX 11 for decoding and AMF acceleration for encoding in ffmpeg
. This script it only takes about 5 minutes to generate the proxy files, and Davinci Resolve seems to be happy with them.
I still use Lossless Cut to split the files into individual tracks, but pretty sure I can leverage ffmpeg
for it as well, sometime in the future.