Я понимаю, что эта тема немного старая, но я думаю, что ситуация несколько изменилась. Для моей цели:
- в первую очередь всегда выбирайте наилучшее доступное качество видео независимо от формата;
- но затем никогда не позволяйте аудиоформату вызывать потерю mp4 .
Ранее я использовал bestvideo+bestaudio/best, но я считаю, что следующий вариант работает намного лучше для уменьшения mkv, (очевидно) устранения webm, но все же гарантирует высочайшее качество видео (не используйте эту --merge-output-formatопцию при использовании этого):
--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best
Обратите внимание, что в первом слагаемом extдля аудио указан фильтр, а не для видео - методика, которую я не видел в вышеупомянутом обсуждении. Если это кажется задом наперед для моих заявленных целей, это может быть из-за того, что, учитывая то, что мы пытаемся убедиться, что формат видео соответствует mp4, почему ограничение дается для аудио?
Ключ заключается в том, что каждый запасной член (разделенный косой чертой) потерпит неудачу, если какая-либо часть его требования не будет выполнена, и перейдет к следующему члену. При использовании bestvideo+bestaudioмногие случаи получения контейнера не-mp4 обнаруживаются только потому, что этот выбор формата однозначно настаивает на том bestaudio, что может означать смешанный формат. Это потому, что bestvideo+bestaudioкоманда слишком настойчива, чтобы тебя заставили mp4.
Но что, если вы больше заботитесь о получении контейнера mp4, чем о качестве звука ? Настаивая на m4aаудио сначала - но затем смягчаясь только на этой части, выпуская bestvideoснова - (используя выбор формата выше), вы по существу выражаете гибкое предпочтение по mp4сравнению с другими контейнерами; Вы, конечно , хотите, mp4если это возможно, но не за счет снижения качества видео.
Как я уже сказал, вы можете получить некоторые из них mkv, но их будет значительно меньше, и они будут использоваться только тогда, когда это потребуется для (предположительно) лучшего видео. И до сих пор с этой конфигурацией я вообще ничего не видел webm, потому что что-то вроде 248 + 140 работает в итоге как mkv.
--list-formatsи--format nnпереключатели.