Skip Navigation

Batch video conversion from command line

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?

26 comments
  • 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:

    1. Install HandBrakeCLI if you haven't already:
     bash
        
    sudo apt-get install handbrake-cli
    
      
    1. Write a bash script to iterate through your directories, converting ISO files:
     bash
        
    #!/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.

    1. Make the script executable:
     bash
        
    chmod +x convert_iso.sh
    
      
    1. Run the script:
     bash
        
    ./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.

  • I had the same need and didn’t want to read tooo much about ffmpeg and its options. I ended up using fastflix which uses ffmpeg under the hood with built in presets. Supports queues and lots of more stuff.

26 comments