How to Convert WebM Videos to Any Format on Linux

In the world of digital media, the WebM format has gained significant popularity due to its open-source nature and efficient compression capabilities.

However, sometimes there may be instances where you might need to convert your WebM files to more popular formats such as MP4, AVI, or MKV.

This article will guide you through the process of converting WebM to various formats using simple Linux command-line tools.

Understanding WebM and Its Advantages

WebM is a multimedia container format developed by Google, primarily designed to provide a royalty-free alternative to the widely used H.264 video codec.

It supports the VP8 and VP9 video codecs, as well as the Opus and Vorbis audio codecs. The WebM format is known for its excellent compression efficiency, making it a popular choice for online video streaming and storage.

One of the key advantages of WebM is its open-source nature, which means that it can be freely used, modified, and distributed without the need for licensing fees or royalties.

Installing FFmpeg and HandBrake Tools in Linux

To convert WebM files to other formats in Linux, you’ll need to have the following tools installed on your system:

FFmpeg is a powerful multimedia framework that can handle a wide range of video and audio formats. It’s the primary tool we’ll be using for the conversion process.

sudo apt install ffmpeg         [On Debian, Ubuntu and Mint]
sudo yum install ffmpeg         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/ffmpeg  [On Gentoo Linux]
sudo apk add ffmpeg             [On Alpine Linux]
sudo pacman -S ffmpeg           [On Arch Linux]
sudo zypper install ffmpeg      [On OpenSUSE]    
sudo pkg install ffmpeg         [On FreeBSD]

While FFmpeg is a versatile tool, you may also want to consider using HandBrake, a popular open-source video transcoder that provides a user-friendly graphical interface and can be particularly useful for batch conversions or more complex video processing tasks.

sudo apt install handbrake-cli         [On Debian, Ubuntu and Mint]
sudo yum install handbrake-cli         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/handbrake-cli  [On Gentoo Linux]
sudo apk add handbrake-cli             [On Alpine Linux]
sudo pacman -S handbrake-cli           [On Arch Linux]
sudo zypper install handbrake-cli      [On OpenSUSE]    
sudo pkg install handbrake-cli         [On FreeBSD]

Converting WebM to Other Formats Using FFmpeg

FFmpeg is a powerful command-line tool that can handle a wide range of video and audio formats. To convert a WebM file to another format, you can use the following general command structure:

ffmpeg -i input_file.webm -c:v codec_name -c:a codec_name output_file.format

Convert WebM to MP4 in Linux

To convert the WebM file to an MP4 file using the H.264 video codec and the AAC audio codec.

ffmpeg -i input_file.webm -c:v libx264 -c:a aac -f mp4 output_file.mp4

Convert WebM to AVI in Linux

To convert the WebM file to an AVI file using the H.264 video codec and the MP3 audio codec.

ffmpeg -i input_file.webm -c:v libx264 -c:a mp3 output_file.avi

Convert WebM to MKV in Linux

To convert the WebM file to an MKV file using the H.264 video codec and the AAC audio codec.

ffmpeg -i input_file.webm -c:v libx264 -c:a aac output_file.mkv

Converting WebM to Other Formats Using HandBrake

HandBrake is a user-friendly video transcoder that can also be used to convert WebM files to other formats.

Here’s how you can use the HandBrake command-line interface (CLI) to perform the conversion:

Convert WebM to MP4 using HandBrake CLI

The following command will convert the WebM file to an MP4 file using the x264 video codec and a quality setting of 20.

handbrake-cli -i input_file.webm -o output_file.mp4 -f mp4 -e x264 -q 20

Convert WebM to AVI using HandBrake CLI

The following command will convert the WebM file to an AVI file using the x264 video codec and a quality setting of 20.

handbrake-cli -i input_file.webm -o output_file.avi -f avi -e x264 -q 20

Convert WebM to MKV using HandBrake CLI

The following command will convert the WebM file to an MKV file using the x264 video codec and a quality setting of 20.

handbrake-cli -i input_file.webm -o output_file.mkv -f mkv -e x264 -q 20

Batch Conversion of WebM Files

If you have multiple WebM files that you need to convert, you can use a simple shell script to automate the process.

Here’s an example script that uses FFmpeg to convert all WebM files in a directory to MP4 format:

#!/bin/bash

for file in *.webm; do
    ffmpeg -i "$file" -c:v libx264 -c:a aac "${file%.webm}.mp4"
done

Save this script as a file (e.g., webm_to_mp4.sh) and make it executable with the following command:

chmod +x webm_to_mp4.sh

Then, run the script in the directory containing your WebM files:

./webm_to_mp4.sh

This will convert all WebM files in the directory to MP4 format.

Conclusion

In this article, we’ve explored the process of converting WebM files to other popular video formats, such as MP4, AVI, and MKV, using the powerful FFmpeg and HandBrake tools in Linux.

By understanding the advantages of the WebM format and the available conversion tools, you can now easily adapt your video files to suit your specific needs and ensure compatibility across various media players and platforms.

Remember, the specific command-line options and parameters may vary depending on your requirements, such as the desired video and audio codecs, quality settings, and output file formats.

Feel free to experiment and customize the commands to achieve the best results for your video conversion needs.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Ravi Saive
I am an experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.