Сразу скажу: причина всех этих дополнительных действий в том, что довольно старенький, давно не обновлявшийся, но физически ещё вполне исправный SmartTV ограничен в своих возможностях воспроизведения и его особенности определяют то, что мне приходится так обрабатывать видео. Несколько раз описывал более или менее подробно здесь (на Дзене) причины (технические особенности), а теперь хочу остановиться именно на процессе скачивания и обработки.
Да, с точки зрения юристов, как я понимаю, у меня есть право просмотра видео. Насчёт скачивания немного сложнее, но можно сослаться на то, что нужно подстроиться под особенности телевизора. И да, видео долго не храню, после просмотра сразу удаляю. Это и понятно с практической точки зрения: размер жёсткого диска всё-таки не является безграничным.
Итак, скачиваю видео теперь только при помощи бесплатного пакета yt-dlp. Устанавливаю и обновляю так (python, конечно же есть у меня):
pip install -U yt-dlp
Обновления пакета довольно частые, можно сообщить о проблемах, предложить пути решения на его странице GitHub, а можно просто тихо исправить (если чего не скачивается) у себя на компьютере, что я иногда и делаю (возраст уже не тот, чтобы активно и ответственно заниматься разработкой). Исправления, как правило, незначительные. Вот пример (правда для его предшественника), как я при необходимости правлю пакет (в данном случае добавлено несколько символов всего, чтобы всё заработало как надо). Но иногда правок требуется больше. Эти какое-то время локально использовал, а на настоящий момент разработчики внесли исправления весьма похожим способом. UPD: Я теперь в этом проекте contributor: внёс незначительные правки. По результатам, наверно, стоит отметить, что hatch test следует запускать с параметром --retries 2 как минимум, вообще скачивание видео иногда приходится стартовать неоднократно до получения результата, так что не торопитесь сообщать о проблемах, не убедившись, что они действительно имеют место :) Ещё добавлю, что приобрёл аппаратный ключ Рутокен MFA, а ssh его поддерживает в различных вариантах (а выбрал тот, что для редких правок и ссылку на него только дал), понятно, что перевёл все репозитории на доступ через него, о чём вскользь упомянул здесь.
Пакет знает основные российские площадки для размещения видео (если чего не хватает именно вам, можно предложить, возможно, добавят), но если чего и не знает, тоже при некоторых дополнительных усилиях и везении скачивается без проблем. В частности, если есть в тексте страницы ссылка на видео mp4, можно указать пакету её. Скачает вполне успешно.
Вот скрипт для скачивания. Там основная идея - скачивание наиболее быстрое (параллельные потоки и/или процессы). Потоки заведутся сами (так у меня задано параметрами командной строки), а если процессы, то правим для каждого видео перед запуском скрипт (меняем ссылку на видео) и запускаем. Он после ряда манипуляций откроется в новом окне и будет скачивать максимально быстро в наилучшем качестве, пока не завершит работу, выдав об этом сообщение и воспроизведя звуковой сигнал. В начале скачивания, создаст что-то вроде файла описания, где будет содержаться ссылка на видео (она, кстати, ещё запишется в метаданные скачанного файла) и возможные для скачивания форматы аудио и видео. Ссылка нужна, если скачивание прервалось ошибкой. В этом случае для продолжения опять в скрипте указываем эту ссылку на видео, если что-то изменилось (при скачивании нескольких разных видео параллельно или последовательно), и запускаем с теми же параметрами.
Обычно параметры указывать нет необходимости, но иногда работает не лучшим образом hls-скачивание (прерывается) и тогда запускаю https-скачивание, а иногда требуется собрать запись наилучшего качества из предоставленных отдельно аудио и видео, как, например здесь. В этом случае запускаю с такими параметрами:
y.cmd baudio+bvideo
Когда видео скачано, обрабатываю его при необходимости с помощью vlc и FFmpeg или avidemux и заливаю на сетевой накопитель, а затем воспроизвожу с него через DLNA сервер на SmartTV. Перематывать при этом (я писал) было довольно трудно, пока не подключил к телевизору компьютерную клавиатуру. Теперь такой проблемы нет.
Вот всё, что хотел сказать на этот раз. Если статья чем-то помогла, взгляните ещё и на это: Немного о себе, принципах, состоянии здоровья и финансов.