For batch converting ISOs to a specific resolution and format while preserving folder hierarchy on Linux, you can indeed use ffmpeg
with a bash script. However, you might also consider using HandBrakeCLI
, which is a command-line interface for HandBrake, a popular video transcoder.
Here's how you could use HandBrakeCLI
to achieve your goal:
- Install
HandBrakeCLI
if you haven't already:
sudo apt-get install handbrake-cli
- Write a bash script to iterate through your directories, converting ISO files:
#!/bin/bash
# Set input and output directories
input_dir="/path/to/your/input/directory"
output_dir="/path/to/your/output/directory"
# Convert ISOs to 720p h.265
find "$input_dir" -name "*.iso" -type f | while read -r file; do
output_file="${file%.iso}.mp4"
handbrakecli --input "$file" --output "$output_dir/$output_file" --preset="Super HQ 720p30 Surround"
done
Adjust the preset according to your needs. You can check available presets with HandBrakeCLI --preset-list
.
- Make the script executable:
chmod +x convert_iso.sh
- Run the script:
./convert_iso.sh
This script will convert all ISO files in the specified input directory to 720p h.265 MP4 files using HandBrakeCLI while preserving the folder hierarchy.