Принудительно использовать MP4, BA и <480p?
Перейдите к d.1, чтобы увидеть команду обхода, которую я использую.
Почему я это делаю?
ИНОГДА лучше просто выполнить -f ba[ext=m4a], а затем изменить расширение на .mp4, меня беспокоит то, что иногда это может дать сбой (или что это можно сделать более кратко)!
ДРУГИЕ СЛУЧАИ: мне нужен файл самого низкого качества, это должно быть видео, которое все же может дать общее представление о том, что происходит визуально (обычно 144p или 360p). Я не хочу жертвовать качеством звука, если это вообще возможно. Мне всегда приходится что-то сжимать и переформатировать: иногда это занимает час — очень хочется сократить шаги.
Моя цель:
- Узнайте, чем лучше работают yt-dlp и ffmpeg.
- Загрузите аудио высочайшего качества и видео определенного качества.
- Используйте как можно меньше команд для обработки всех потенциальных входных данных.
- Постоянно получайте вывод в формате mp4 (не в формате WebM, не в формате RAW); в идеале, по возможности, без использования ffmpeg; в качестве альтернативы можно использовать одну команду, включающую строку yt-dlp и строку ffmpeg в одной строке (например,
yt-dlp -flags && ffmpeg -flags
).
Известные проблемы:
Лучшие предположения не сработали :
а.
-
yt-dlp https://url.com/uri -f wv+ba* -o "./my/location/filename.mp4"
где wv означает худший звук, ba означает лучший звук, а*
должно означать «каким-то образом сделать лучший звук приоритетом!» К сожалению, я получаю неоднозначные результаты: обычно видеофайл худшего качества без звука. -
yt-dlp https://url.com/uri -f wv+ba -o "./my/location/filename.mp4"
. Дайте неправильное расширение.
б.
-
yt-dlp https://url.com/uri -f ba[ext=m4a] -o "./my/location/filename.m4a"
Это дает мне файл m4a, а затем мне нужно выполнить команду переименования.[ext=mp4]
это не вариант. Видео это тоже не дает, что НЕ ИДЕАЛЬНО.
в.
-
yt-dlp https://url.com/uri -f 134+ba -o "./my/location/filename.mp4" --merge-output-format mp4
, где видео 360p. Это даетERROR: Postprocessing: Stream #1:0 -> #0:1 (copy)
, и нет объединенного выходного файла (только два файла tmp: только аудио и только видео). -
yt-dlp https://url.com/uri -f 134+ba -o "./my/location/filename.mp4" --merge-output-format mkv && rename filename.mkv filename mp4
, гдеid 134
это видео 360p. В результате получается файл в формате mp4, но он рассматривается системой как файл mkv (и не может быть использован по назначению).
д.
-
yt-dlp https://url.com/uri -f 134 -o "./my/location/filename.webm && yt-dlp https://url.com/uri -f ba -o "./my/location/filename.m4a" && ffmpeg -i .\relativePath\inputFilename.f251.webm -i .\relativePath\inputFilename.f248.webm -c:v mpeg4 -q:v 0 -q:a 0 -c:v copy .\relativePath\outputFilename.mp4"
. Примечание: аудио/видео можно вводить в любом порядке, но флаг -i должен идти первым.
Об обходном пути d.1:
Если я использую-q:a 100
, выходной файл будет в 10 раз больше входных файлов; Итак, я думаю, что я не получаю звук без потерь....
Примечание: аудио/видео можно вводить в любом порядке, но флаг -i должен идти первым .
Также важно не использовать звездочкиbv*+ba
потому что в этом случае приоритет будет отдан наилучшему качеству видео с объединенным звуком, а вам нужны отдельные файлы: вы можете гарантировать отдельные файлы, исключив звездочку.