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 с ошибкой