Hi fellow sailors,
i have lots of downloaded… ISOs… that i need to converto to save space. I would like to make them all of the same size, let’s say 720p, and same format, let’s say h265.
I am on linux and the… ISOs… are sorted into a neatly named hierarchy of sub-folderds, which i want to preserve too. What is the best tool (CLI) for the scope? I can use ffmpeg with a bash script, but is there anything better suited?
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 usingHandBrakeCLI
, 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.
- Install
Use chatgpt to create a Python program that runs ffmpeg with your desired settings, and retains the folder structure. Important: use chatgpt 4, not 3
lol