FFMPEG is an [[LGPLv2.1]] licensed media transcoder and manipulation tool written in [[3. Reference/Software/Programming Languages/C|C]].
- [Website](https://ffmpeg.org/)
- [Source](https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/README.md)
- [Documentation](https://ffmpeg.org/documentation.html)
- [AlternativeTo](https://alternativeto.net/software/ffmpeg/about/)
> FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
# Notability
# Philosophy
## avconv Split
A group of `ffmpeg` developers split off in 2012 and formed `avconv` which shipped its own versions of `ffmpeg` with error messages and libraries that confused a lot of people.
The `aconv` fork was discontinued in 2019 and is now defunct.
# Platform Support
# Features
# Tips
## OCR & TTS
- https://dev.to/video/exploring-ocr-and-text-to-speech-in-ffmpeg-2o61
## Losslessly Change Container
```sh
ffmpeg -i video.mkv -c:v copy -c:a copy -map 0 -sn output.mp4
```
## Remove Audio
```sh
ffmpeg -i video.mkv -c:v copy -an output.mp4
```
## Extract Audio to File
AKA remove video.
```sh
ffmpeg -i video.mkv -vn -acodec copy -map a output.aac
```
The `-map a` is needed to tell `ffmpeg` not to worry about subtitles or any other video streams that won't fit into the target container.
## Extract DTS Audio to File
[[Solus]]'s build of `ffmpeg` doesn't include the DTS/ADTS muxer.
To build it in:
```sh
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --enable-muxer=adts
make
```
# Resources
## GUIs
- https://sites.google.com/site/dmsimpleapps
# References
- https://askubuntu.com/questions/50433/how-to-convert-mkv-file-into-mp4-file-losslessly
- https://github.com/jspw/Little-Fun-Stuffs/tree/main/mkv%20to%20mp4%20converter
- https://superuser.com/questions/472420/handbrake-settings-to-convert-mkv-to-mp4-while-retaining-the-original-quality
- https://superuser.com/questions/268985/remove-audio-from-video-file-with-ffmpeg
- https://stackoverflow.com/questions/42542906/ffmpeg-what-muxer-do-i-need-to-save-an-aac-audio-stream
## LibAV
- https://stackoverflow.com/questions/9477115/what-are-the-differences-and-similarities-between-ffmpeg-libav-and-avconv
- http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html