README.md

m3u-tube

Небольшая утилитка для генерации M3U плейслистов по ссылкам из youtube,rutube и прочих поддерживаемых yt-dlp сайтов. Всю работу делает yt-dlp, а эта утилита лишь оформляет вывод. Также, а собственно и основная цель это объединение разных плейлистов по ссылкам в один M3U плейлист. Это скрипт обёртка над yt-dlp.

Зависимости

sudo apt install lua yt-dlp

Установка и удаление

Глобально

sudo make install
sudo make uninstall

Локально

make PREFIX=$HOME/.local install
make PREFIX=$HOME/.local uninstall

Независимо

make DESTDIR=$HOME/some_you_dir install
make DESTDIR=$HOME/some_you_dir uninstall

Использование

Простейший пример (используйте одинарные кавычки для ссылок)

m3u-tube 'https://youtube.com/playlist?list=PL4FxkpKzI-TrFsTuuYnS3EvwSXmqi9Mun'

Вывод

#EXTM3U
#EXTINF:-1,'BLOGDRON INTER MATRIX PART 1:'
https://www.youtube.com/watch?v=6l54bQEsytM
#EXTINF:-1,'BLOGDRON INTER MATRIX PART 2:'
https://www.youtube.com/watch?v=prmoa3AlVl8
#EXTINF:-1,'BLOGDRON INTER MATRIX  PART 3:'
https://www.youtube.com/watch?v=mbVnc_nXUgQ
#EXTINF:-1,'BLOGDRON INTER MATRIX PART 4:'
https://www.youtube.com/watch?v=sopDMYfvpbs
#EXTINF:-1,'BLOGDRON INTER MATRIX PART 5:'

Чтение ссылок из файла и запись M3U в файл. Cсылки в фале могут быть произвольно разделеы пробелами и/или переводом строки.

m3u-tube -i links.txt -o playlist.m3u

Слияние двух плейлистов в один c выводом лога и записью в файл

m3u-tube 'ссылка1' 'ссылка2' -v -o playlist.m3u

Ссылки можно передать через пайп , разделитель новая строка, если не указан выходной файл, то вывод идёт на страндартный вывод

cat links.txt | m3u-tube - > playlist.m3u

Если нужно получить просто ссылки или имена роликов плейлиста (канала) то можно использовать ключи -l и -n соответственно. Это может быть полезно если M3U плейлист не нужен, а нужны только ссылки или названия. Если указать оба ключа -l -n то будет выведены и ссылки и названия через пробел. Вывод разделяется пробелом и предвариательно оболрачивается в одинарные кавычки.

Пример:

m3u-tube -l -n 'https://www.youtube.com/@blogdron'

Кусочек вывода

'https://www.youtube.com/watch?v=YMOcrBwk5eU' 'BLOGDRON L4D2:'
'https://www.youtube.com/watch?v=tepxWJjFboM' 'BLOGDRON  L4D2:'
'https://www.youtube.com/watch?v=7Bs8U24ILgA' 'BLOGDRON  L4D2:'
'https://www.youtube.com/watch?v=bf0Q8aWeJIk' 'BLOGDRON L4D2:'
'https://www.youtube.com/watch?v=JtwsUxTyfVg' 'BLOGDRON  L4D2:'
'https://www.youtube.com/watch?v=geekqCqNc74' 'BLOGDRON L4D2:'
'https://www.youtube.com/watch?v=4EqpUc6Y0iw' 'BLOGDRON L4D2:'
'https://www.youtube.com/watch?v=m8TUpiXE0jk' 'BLOGDRON L4D2:'
'https://www.youtube.com/watch?v=X4hWDJzYJRA' 'BLOGDRON L4D2:'
'https://www.youtube.com/watch?v=iN6sNAcEobY' 'BLOGDRON  L4D2:'

Утилитка простая всё описано в справке

[Usage: m3u-tube -u [URL] -o [FILENAME]

This simple util generate M3U playlist from
youtube, rutube playlists or maybe other web sites.
Multiple playlists can be combined into one M3U playlist.
yt-dlp does all the work, m3u-tube just generates the output.

Argsuments:

    -                         Read one or more URL from pipe
    -h  --help                This help message
    -u  --url     [URL]       One or more playlist URL links
    -i  --input   [FILENAME]  Filename for read URL links
    -o  --output  [FILENAME]  Falename for save M3U playlist
    -l  --links               Show flat playlist, only links
    -n  --names               Show flat playlist, only names
    -v  --verbose             Show processing log, and enable yt-dlp warnings
    [URL]                     One or more playlist URL links, divide space

    If use multiple URL links, they combine in single M3U playlist.
    Multiple links are separated by a space or new line. Bad links or
    links without playlists ignored with information message.

Examples:

    m3u-tube -i urls.txt -o play.m3u    # create M3U from file with URL links
    m3u-tube 'url' -v > out.m3u         # create M3U from link, show processing
    m3u-tube 'url1' 'url2' 'url3'       # concat three playlists to one M3U
    cat urls.txt | m3u-tube -           # create M3U from pipe data
    cat urls.txt | m3u-tube url1 - url2 # combine pipe and argumens

Notice:

    If playlists not collected... Well, sometimes websites broken,
    You need update yt-dlp to latest or add changes in yt-dlp for support.
    For check what is broken try run it:

    yt-dlp --flat-playlist --print url 'your_url_playlist'

See also:

    yt-dlp(1)

На заметку

Если сыплет ошибками, значит надо разбираться с yt-dlp как минимум запустить yt-dlp --flat-playlist --print url 'ссылка' и увидеть в чём конкретно произошла ошибка. Вероятно придётся обновлять yt-dlp В целом желательно иметь yt-dlp поновее так как на сайтах постоянно что-то ломают, а в yt-dlp под это постоянно подстраиваются.

Описание

Сценарий для генерации M3U плейлиста из youtube, rutube. Через yt-dlp

Конвейеры
0 успешных
0 с ошибкой