Толик Панков
hex_laden
............ .................. ................

October 2025
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Толик Панков [userpic]
Linux: yt-dlp в Slackware

Преамбула


Сломался даунлоадер с Ютуба yt-dlp, который я пользовал в качестве альтернативы youtube-dl, поскольку youtube-dl медленный. Но ютубовские уроды опять что-то поменяли и старая версия yt-dlp перестала работать. Решил обновить.

Обновление Python до версии 3.9


Новой версии yt-dlp нужна и новая версия Python. У меня стояла 3.7, а нужна 3.9.

1. Сносим старую версию (название пакета у вас может быть другим, у меня был python3-3.7.2-i586-1_SBo):

removepkg python3-3.7.2-i586-1_SBo

2. Качаем SlackBuild и исходники от Alien
3. Кладем их в отдельный каталог и делаем пакет:

./python3.SlackBuild Python-3.9.5.tar.xz

4. Устанавливаем пакет:

installpkg python3-3.9.5-i586-1alien.txz

Копии:
Слакбилд и исходники (RAR)
Готовый пакет (TXZ)

Устанавливаем новую версию yt-dlp


1. Сносим старый пакет, если есть (название пакета ниже может быть другим):

removepkg yt-dlp

2. Делаем временный каталог:

cd /tmp
mkdir yt-dlp2024


3. Создаем в нем каталог bin:

cd yt-dlp2024
mkdir bin


4. Качаем в bin с GitHub готовую версию yt-dlp:

Ссылка на страницу установки
Ссылка на бинарник для Linux

5. Устанавливаем скачанному файлу права на исполнение:

chmod 755 yt-dlp

6. Создаем пакет:

cd ..
makepkg ../yt-dlp2024.txz


7. В каталоге /tmp будет создан пакет yt-dlp2024.txz, нужно его установить:

cd ..
installpkg yt-dlp2024.txz


Копия готового пакета (TXZ)

Устранение ошибки ERROR: 'latin-1' codec can't encode character


При первом использовании нового yt-dlp возникла ошибка:

[youtube] Extracting URL: https://www.youtube.com/watch?v=3zyZ-Ya7FJE
[youtube] 3zyZ-Ya7FJE: Downloading webpage
[youtube] 3zyZ-Ya7FJE: Downloading ios player API JSON
[youtube] 3zyZ-Ya7FJE: Downloading android player API JSON
WARNING: [youtube] Skipping player responses from android clients (got player responses for video "aQvGIIdgFDM" instead of "3zyZ-Ya7FJE")
[youtube] 3zyZ-Ya7FJE: Downloading m3u8 information
[info] 3zyZ-Ya7FJE: Downloading 1 format(s): 137+251
ERROR: 'latin-1' codec can't encode character '\u29f8' in position 6: ordinal not in range(256)


Ну все, пиздец, подумал я, настала та самая жопа, когда ебался пол ночи, а звуки для новых сэмплов так и не скачаю, а друзья неделю пилили, что из "жужжалки" UVB-76 (это такая всем известная номерная радиостанция), я себе семплов нужных и нарежу, а тут такой облом. Пошел в ресторацию, выпил хорошего немецкого пива под сосисочки, и решение нагуглилось!

При вышеуказанной ошибке yt-dlp надо запускать с параметром --restrict-filenames:

yt-dlp --restrict-filenames <url>

где

<url> - адрес видео, которое хотим скачать, например:

yt-dlp --restrict-filenames https://www.youtube.com/watch?v=3zyZ-Ya7FJE

Все! Качается:
[youtube] Extracting URL: https://www.youtube.com/watch?v=3zyZ-Ya7FJE
[youtube] 3zyZ-Ya7FJE: Downloading webpage
[youtube] 3zyZ-Ya7FJE: Downloading ios player API JSON
[youtube] 3zyZ-Ya7FJE: Downloading android player API JSON
WARNING: [youtube] Skipping player responses from android clients (got player responses for video "aQvGIIdgFDM" instead of "3zyZ-Ya7FJE")
[youtube] 3zyZ-Ya7FJE: Downloading m3u8 information
[info] 3zyZ-Ya7FJE: Downloading 1 format(s): 137+251
[download] Destination: UVB-76_The_buzzer_4625_kHz_USB_Live-[3zyZ-Ya7FJE].f137.mp4
[download] 16.6% of 260.26MiB at 252.20KiB/s ETA 14:41


Решение нашел здесь

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2024/05/13/linux-yt-dlp-v-slackware/

Comments
(Anonymous)

кто такой толик пунковв блять?

это бренд, стиль, сайт, человек и параход

О, спасибо! А то у меня тоже отвалилось жестко.

Пользуйтесь! Рад, что помогло!