Я новичок в FFmpeg (Windows), и мне нужна помощь.
Я хочу конвертировать мои MKV в MP4 с минимальными потерями в качестве. MKV сделаны с MakeMKV и содержат, помимо прочего, саундтрек DTS. Они без потерь. Причина, по которой я хочу конвертировать, заключается в том, что я планирую транслировать его на iPad и Apple TV. iPad не поддерживает DTS и MKV. MKV - это и DVD, и Blu-Ray. MKV содержат видео, саундтреки и субтитры.
Я пробовал это, но не получил звука из-за саундтрека DTS:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Кто-нибудь может мне помочь?
Какие кодеки я должен использовать? MP4 лучше для Apple?
ffmpeg -i input.mkv
будет достаточно.Ответы:
MP4 действительно лучший формат для устройств и программного обеспечения Apple. DTS также действительно не поддерживается, многие видеофайлы MP4 содержат две звуковые дорожки, одну DTS и одну AAC.
Доступно несколько кодеров, все они описаны в википедии ffmpeg . Какой кодек доступен, зависит от того, как был скомпилирован ffmpeg. libfdk_aac даст вам лучшие результаты, но из-за того, что этот кодек не является бесплатным, он не всегда доступен.
Вещи, которые вы можете попробовать (я положил их в порядке моего воспринимаемого качества, лучше всего сначала)
Если вы хотите сохранить дорожку DTS, используйте
-map
флаг.Непосредственно для OP, но вспомогательная программа OS X делает этот процесс очень простым.
РЕДАКТИРОВАТЬ: Комментарии TL; Dr? ОП решил проблему с помощью следующей команды
СОВЕТ: если
-c:s copy
субтитры не работают, попробуйте-c:s mov_text
.Спас меня несколько раз.
источник
libfdk
иlibfaac
)-c:a aac -q:a 6
настройки и сравнил результат с-c:a libfaac -b:a 192k
, по моему мнению, кодеком aac, который дает лучшие результаты, чем libfaac , но, поскольку кодеки находятся в стадии разработки, это может измениться. libfdk_aac , вероятно, даст еще лучшие результаты, но сейчас у меня его нет.Я знаю, что это старый вопрос - и уже есть ответ - но я хотел поделиться некоторыми командами, которые я использую, с FFmpeg на macOS.
MP4 видео в кодировке x264 с аудио AAC от MKV
Основное преобразование MKV с MP4 в нем, но преобразование аудио в AAC на 128k. Обратите внимание на отображения:
-map 0:0
означает первую (0
) дорожку из источника input (0
) и-map 0:1
означает вторую (1
) дорожку из того же источника input (0
). Мне нравится делать это в тех случаях, когда есть несколько звуковых дорожек, поэтому я могу сделать что-то вроде select,-map 0:3
чтобы получить третью дорожку.MP4 видео в формате HEVC / x265 с аудио AAC от MKV
Это похоже на приведенную выше команду x264, но вместо этого использует HEVC / x265, чтобы получить файл меньшего размера с тем же - если не лучшим качеством - видео из исходного MKV. Обратите внимание, что я предпочитаю масштабировать видео iOS до 720 при использовании HEVC / x265; качество воспроизведения без особых помех на моем MacBook, iPad и iPhone. Просто убедитесь, что ваше оборудование и ОС поддерживают воспроизведение HEVC / x265. И будьте осторожны: HEVC / x265 очень сильно загружает процессор, поэтому, если ваша машина не имеет большой мощности процессора, это может занять целый день или около того, чтобы закодировать 90 минут видео.
Вот разбивка каждого из основных параметров, кроме входных и выходных файлов.
-vf scale=-1:720
: Масштабировать видео до 720 высотой и автоматически вычислять ширину. Обратите внимание , что FFmpeg может подавиться некоторым MKVs по причинам , я не 100% ясно , так что вы должны явно установить ширину с чем - то вроде этого:-vf scale=1280:720
. Поэкспериментируйте и посмотрите, что работает для вас.-c:v libx265 -crf 20
:libx265
Кодек кодирования видео.-crf 20
Является CRF (фактор константы скорости) . CRF по умолчанию, если вы не укажете, это 28, но - на данный момент - качество довольно хорошее… Мех. Я предпочитаю 20, так как это очень хороший баланс между качеством и размером файла.-threads 4
Мне нравится указывать количество потоков. 4 - это то, что моя система может обрабатывать сейчас, но иногда я сокращаю его до 2 или 3. Чем больше число, тем быстрее, если у вас достаточно процессоров для его обработки.-tag:v hvc1
: Волшебная настройка метаданных, которая должна быть установлена на устройствах iOS для правильного воспроизведения видео HEVC / x265.И это об этом!
источник