<!--
.. title: ffmpeg кодирование mp4
.. slug: ffmpeg-kodirovanie-mp4
.. date: 2022-04-08 13:14:46 UTC+03:00
.. updated: 2023-10-05 11:45:16 UTC+03:00
.. tags: ffmpeg, video
.. category: 
.. link: 
.. description: 
.. type: text
-->

## Подходит для телеги (mov)

С указанием битрейта и простым копированием звука

```bash
ffmpeg -i inputfile -c:v libx264 -b:v 1500k -c:a copy outfile.mov
```

С указанием качества и кодированием звука в mp3 

```bash
ffmpeg -i inputfile -c:v libx264 -crf 16 -codec:a libmp3lame -qscale:a 4 outfile.mov
```

Чем выше параметр `-crf` тем ниже качество видео и меньше размер файла.
Аналогично, чем выше параметр `-qscale` тем ниже качество звука и меньше размер файла.

## Подходит для показа в браузере chromium (webm)

С указанием качества и кодированием звука 

```bash
OPTS=-c:v libvpx -b:v 0 -crf 16 -codec:a libvorbis -ac 2 -b:a 160k
ffmpeg -i inputfile $OPTS outfile.webm
```

Чем выше параметр `-crf` тем ниже качество видео и меньше размер файла.
Параметр `-b:a` - битрейт аудио.


## Кодирование видео снятого с экрана


```bash
ffmpeg -i inputfile -c:v libx264 -tune stillimage -preset slower -crf 16 -codec:a libmp3lame -qscale:a 4 outfile.mp4
```

### Включение субтитров

```bash
ffmpeg -i inputfile -filter:v subtitles=subtitles.srt -c:v libx264 -crf 16 -codec:a libmp3lame -qscale:a 4  outfile.mp4
```

В имени файла субтитров нежелательны пробелы (по крайней мере для версии под Windows).

Более подробно [о субтитрах в ffmpeg](https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options).

### Видео из одного файла, звук из отдельного 

```bash
# копирование данных без перекодирования
ffmpeg -i input_video.mov -i input_audio.mp3 -c:v copy -c:a copy  -map 0:v:0 -map 1:a:0  outfile.mp4

# перекодирование видео, копирование звука
ffmpeg -i input_video.mov -i input_audio.mp3 -c:v libx264 -crf 20 -c:a copy  -map 0:v:0 -map 1:a:0  outfile.mp4
```

## Ссылки

### Примеры:

[Ссылка](https://dev.to/cypark/useful-ffmpeg-commands-by-examples-5dj4)

### Опции для mp3

[Ссылка](https://trac.ffmpeg.org/wiki/Encode/MP3)

### Опции для vp8

[Ссылка](http://wiki.webmproject.org/ffmpeg)

### Опции для vp9

[Ссылка](http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide)

[Ссылка](https://write.corbpie.com/mp4-to-vp9-webm-encoding-with-ffmpeg/)
