Как указать аудио и видео битрейт

37

У меня есть файл MOV со следующей медиа-информацией:

Stream 0
Type: Video
Codec: H264-MPEG-4 AVC (part 10)avc1
Language: English
Resolution: 1280x720
Frame rate: 24

Stream 1
Type: Audio
Codec: MPEG AAC Audio (mp4a)
Language: English
Channels: Stereo
Sample rate: 44100HZ

И я хотел бы использовать FFmpeg для преобразования этого файла MOV в файл AVI.

Я знаю, что могу указать скорость передачи аудио и видео (из этой статьи ):

ffmpeg -i InputFile.mpg -ab 128 -b 1200 OutputFile.avi

Но для моего случая, если я хочу сохранить исходное качество, какой должна быть моя аудио и видео скорость передачи данных?

Майкл
источник

Ответы:

52

Для того , чтобы указать целевой битрейт для видео и аудио, использовать -b:vи -b:aпараметры, соответственно. Вы можете использовать сокращения, как Kдля кбит / с и Mдля MBit / с.

Например:

ffmpeg -i input.mp4 -b:v 1M -b:a 192k output.avi

Заметка:

  • Это простое однопроходное кодирование, которое пытается достичь указанного битрейта в конце. Это, вероятно, приведет к неправильным оценкам битрейта для видео части. Рекомендуется использовать режим двухпроходного кодирования, если вы хотите использовать определенный битрейт. См. Руководство по кодированию H.264 для получения дополнительных советов.

  • Посмотрите на качество: вам это нужно лучше? Тогда используйте более высокий битрейт. Попробуйте и посмотрите, что работает лучше для вас. Если вы просто используете тот же битрейт, что и на входе, высоки шансы, что качество будет намного хуже исходного из-за потери генерации .

  • FFmpeg выбирает видео по умолчанию и аудиокодек для контейнера AVI, который является mpeg4и libmp3lameкодер, соответственно, так что MPEG-4 Part II видео и MP3 аудио. Вы не можете использовать оригинальные видео и аудио кодеки (H.264 и AAC), потому что они не поддерживаются контейнерами AVI.

  • Практически любой кодек позволяет установить конкретную скорость передачи битов, но многие кодеки имеют переменную скорость передачи битов / фиксированное качество. Если вам не нужен конкретный размер файла, используйте этот режим. Пожалуйста, прочитайте руководство по кодированию H.264 и раздел по коэффициенту постоянной скорости для этого.

slhck
источник
@ Visionscaper Это не имеет смысла. Ваша опция скопирует входной аудиопоток и, следовательно, не будет выполнять никакого кодирования. Вы должны получить предупреждение об этом.
slhck
хм, вы правы, извините за это. Я неправильно понял вариант; спешка не платит, я думаю. Я получил сообщение об ошибке без этой опции, поэтому с моим аудиокодеком (настройками) должно быть что-то не так.
Visionscaper
Конечно, не стесняйтесь задавать новый вопрос с полным журналом, и я посмотрю на него!
slhck
Ну вот! superuser.com/q/890785/428914
Visionscaper