Creating a basic guide to `ffmpeg` involves covering some of the most common and useful tasks you can perform with this versatile tool. `ffmpeg` is a powerful command-line tool that allows for video, audio, and other multimedia file processing. Here's a beginner-friendly guide to get you started: ### Introduction to FFmpeg `ffmpeg` is a comprehensive multimedia processing tool that supports a wide range of formats and tasks, including video and audio conversion, processing, streaming, and more. It's used by professionals and hobbyists alike for its flexibility and powerful capabilities. ### Installing FFmpeg Before diving into `ffmpeg` commands, ensure you have `ffmpeg` installed on your system. - **On Ubuntu/Debian:** ```bash sudo apt update sudo apt install ffmpeg ``` - **On Fedora:** ```bash sudo dnf install ffmpeg ``` - **On macOS (using Homebrew):** ```bash brew install ffmpeg ``` ### Basic FFmpeg Commands #### 1. Converting Video Formats One of the most common tasks is converting videos from one format to another. To convert a video file, use the following command structure: ```bash ffmpeg -i input.mp4 output.avi ``` Replace `input.mp4` with your source file and `output.avi` with the desired output filename and format. #### 2. Extracting Audio from Video You can extract audio tracks from a video file into a separate audio file using: ```bash ffmpeg -i input.mp4 -vn output.mp3 ``` This command takes the audio from `input.mp4` and outputs it to `output.mp3`, without the video part (`-vn` stands for "video no"). #### 3. Trimming Video Files To trim a video file without re-encoding, specify the start time (`-ss`) and the duration (`-t`) of the clip you want to extract: ```bash ffmpeg -ss 00:00:10 -t 00:00:30 -i input.mp4 -c copy output.mp4 ``` This command extracts a 30-second clip starting at the 10-second mark from `input.mp4` to `output.mp4`, copying the streams directly without re-encoding. #### 4. Combining Video and Audio To combine a video file with an audio track, use: ```bash ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4 ``` This merges `video.mp4` and `audio.mp3` into `output.mp4`, copying the video codec and transcoding the audio to AAC. #### 5. Reducing Video File Size To reduce the size of a video file, you can change the bitrate or use a different codec: ```bash ffmpeg -i input.mp4 -b:v 1000k -c:a copy output.mp4 ``` This command re-encodes the video to have a lower bitrate (`1000k` bits per second), potentially reducing the file size. ### Tips for Learning FFmpeg - **Explore the Help Option**: `ffmpeg` comes with extensive documentation. Run `ffmpeg -h` to see an overview or `ffmpeg -h full` for detailed options. - **Experiment with Different Options**: `ffmpeg` has numerous options and filters that allow for complex processing. Experimenting is a great way to learn. - **Consult the FFmpeg Documentation**: The [FFmpeg Documentation](https://ffmpeg.org/documentation.html) is a comprehensive resource for understanding all of its capabilities. ### Conclusion This guide provides a starting point for using `ffmpeg`, covering some basic tasks. `ffmpeg` is incredibly powerful, and mastering it can take time. Start with these fundamental tasks, and gradually explore more complex commands and options as you become more comfortable with the tool.