LINUX.ORG.RU

yt-dlp как бы его еще больше автоматизировать насчет формата и разрешения.

 


0

2

Привет в общем сабж. Я знаю про конфиг и пользуюсь им но меня не устраивает bestvideo-bestaudio, а точнее непредсказуемые понятия скрипта о том что такое best (например 720p при возможном даже 4к). Когда я качаю какой то видос, то смотреть буду на телевизоре не факт что сейчас, не факт что в том же месте где скачал. Иначе бы смотрел на компе. Я бы хотел чтобы скрипт всегда скачивал любой видос в разрешении не выше FullHD, в то же время в формате mp4 что звук что видео, это будет общий знаменатель для всех используемых телевизоров, что можно выразить в f 137+140. проблема в том что не во всех видео фуллхд это 137 и не во всех видео 140 это m4a. В итоге частенько приходится каждую ссылку просматривать через -F а хочется скормить множество сразу и получить готовый результат без лишних телодвижений. Вопрос в том как ему это сказать?

ЗЫ уточню, что хотелось бы обойтись БЕЗ ап или даунскейлов, если он вдруг это умеет делать. То есть НЕ надо скачивать 4К чтобы потом их сконвертить в fullhd и НЕ надо апскейлить например 720 до fullHD. Тоже самое и со звуком.



Последнее исправление: justin_case (всего исправлений: 1)

Напиши скрипт на пхп или другом языке. Там всё прекрасно парсится, и вроде даже json-формат вывода есть. Только есть подозрение что best оно и правда best.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

best оно и правда best

Значит у меня и у автора скрипта разные понятия. Может быть он считает лучшим когда наибольший битрейт а я хочу наибольшее разрешение экрана.

justin_case
() автор топика
Ответ на: комментарий от justin_case

Большое разрешение с порезанным битрейтом будет замыленным, причём степень замыленности зависит от того, что именно изображено на видео. Так что надо иметь как минимум какой-то алгоритм типа «не брать 1920х1080 если битрейт меньше 2мбит/с» (число битрейта условное, скорее всего другое). А как максимум иметь эвристический анализаор картинок (кадров) для оценки их пригодности.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Большое разрешение с порезанным битрейтом будет замыленным

Я бы сначала хотел убедиться в наличии этой проблемы, а уже потом её решать. Все это время я руками ему вбивал f 137+140 или аналогичное и ни разу не увидел какого-то замыливания. И вообще насчёт битрейта выше это всего лишь моё предположение, может и не так он работает, но много раз выбирал 720 при возможных 1080 и больше.

justin_case
() автор топика
Ответ на: комментарий от Radjah

Примеров не хватает. Если с height в целом понятно то например про vcodec и acodec ни одного, после написания в конфиг

-f "[height<=1080][vcodec=avc1][acodec=mp4a]"


тут же наткнулся на Requested format is not available

Хотя по -F там есть и avc1 и нужное разрешение и звук в mp4a

даже -v не дает понять чего этой собаке надо.

justin_case
() автор топика
Ответ на: комментарий от justin_case

Проверь наличие ffmpeg у себя на всякий случай. Там дальше раздел про сортировку.

Попробуй указать несколько форматов через «/».

Radjah ★★★★★
()
Ответ на: комментарий от anonymous

Убери это. Только 720p и меньше отдают в 30фпс, если изначальное видео в большем фпс.

Мне это надо чтоб старый комп с линуксом не тормозил. 1080 h264 60 кадров он не тянет

theurs ★★
()

Я бы хотел чтобы скрипт всегда скачивал любой видос в разрешении не выше FullHD, в то же время в формате mp4 что звук что видео

cat ~/.config/mpv/mpv.conf

ytdl-format=bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best

Otets_Sergiy
()
Ответ на: комментарий от Otets_Sergiy

[ext=mp4]+bestaudio[ext=m4a]/best

Поможет ли это избежать перекодирования? Мне бы хотелось скачать видос и аудио (инода просто аудио, но это отдельный разговор), а потом просто соединить их. Есть сомнения насчет этого best. ведь бест может быть либо выше фуллхд либо в другом формате (не всегда понимаемым телевизором). Да и к тому же зачем лишний раз время тратить на перекодировку когда уже готовое есть.

ytdl-format=bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best


Конкретно эта строка сразу не работает - вместо фуллхд начал скачивать 2к на первом же рандомном видосе.

justin_case
() автор топика
Последнее исправление: justin_case (всего исправлений: 1)
Ответ на: комментарий от Radjah

Проверь наличие ffmpeg у себя на всякий случай. Там дальше раздел про сортировку.

Попробуй указать несколько форматов через «/».

Ffmpeg точно есть алсо даже по зависимостям встанет еслиб не было.
А вот насчет форматов тут вообще все странно - что указано в ссылке типа av01 итд оно не в каждом видео есть, в том числе и нет в тех которые прекрасно скачиваются вручную через -f 137+140. А вот всякие vp9 или как их там, точно знаю что на обоих телевизорах НЕ съедятся, проверял, черный экран со звуком, так что хотелось бы избежать. Я добавлял даже vcodec=avc1.<цифры соответствующие 137>, но и это не помогает, все равно Requested format is not available.

justin_case
() автор топика
Ответ на: комментарий от anonymous

маленько видоизменил до

-f bestvideo[ext=mp4][width<=1080]+bestaudio[ext=m4a]


Ибо нафиг не впилось мне то, что тупо не влезет в экран, никакого 1200 отродясь не водилось. НО почему он с этой строкой качает МЕНЬШЕ чем фуллхд? Там же написано меньше или равно. Кстати если заменить на просто =, почему то ругается что not available.

justin_case
() автор топика
Ответ на: комментарий от t184256

Тикет у них открыть в багтрекере


1. Не зареган даже на гитхабе за практически нулевым интересом к кодингу.
2. Не уверен что это баг, сначала надо убедиться.

justin_case
() автор топика
Ответ на: комментарий от justin_case
  1. А страдать должны мы?
  2. Ты еще бабушке своей пожалуйся.
t184256 ★★★★★
()
Ответ на: комментарий от justin_case

width<=1080
НО почему он с этой строкой качает МЕНЬШЕ чем фуллхд? Там же написано меньше или равно.

In the case of a monitor with an industry-standard Full HD 1080p resolution, this display has a resolution of 1920 x 1080. This means that the screen will have a width of 1,920 pixels while the height of the screen will be 1,080 pixels.

anonymous
()
Ответ на: комментарий от anonymous

да уже понял протупил с height. Все работает, заебись спасибо.

justin_case
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.