structure updates
This commit is contained in:
80
tech_docs/linux/ffmpeg_guide.md
Normal file
80
tech_docs/linux/ffmpeg_guide.md
Normal file
@@ -0,0 +1,80 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user