Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Озадачился включить запись онлайн-радио Digitally Imported на своём Keenetic Extra. Решил путём установки screen:

opkg install screen

и самого рекордера:

opkg install streamripper

Далее в скрине переходим в директорию, куда и будем всё добро складывать:

screen

cd /tmp/mnt/Music

Записываем:

streamripper <url>

Выходим из скрина путём нажатия комбинации клавиш <ctrl+a+d>.

На usb-носителе streamripper создаст директорию, в моём случае <Progressive Psy - Digitally Imported Premium>, и поддиректорию <incomplete>, в которой формируется сам mp3 файл, а готовый перемещается на уровень выше.

Скачал плейлист с актуальным ссылками тут

P.S. Иногда сообщениях streamripper можно увидеть следующее:

[skipping] <имя трека> - запись идёт, но начало записи не совпадает с началом трека, в этом случае готовый файл остаётся в incomplete.

[ripping] <имя трека> - запись идёт и в этом случае готовый файл также остаётся в incomplete.

Пока не понял как это исправить на уровне самого streamripper.

Опубликовано

без screen все нормально работает

В 11/25/2016 в 03:56, Across сказал:

Скачал плейлист с актуальным ссылками тут.

ссылка не на плейлист

Опубликовано
В 24.11.2016 в 23:56, Across сказал:

P.S. Иногда сообщениях streamripper можно увидеть следующее:

[skipping] <имя трека> - запись идёт, но начало записи не совпадает с началом трека, в этом случае готовый файл остаётся в incomplete.

[ripping] <имя трека> - запись идёт и в этом случае готовый файл также остаётся в incomplete.

Пока не понял как это исправить на уровне самого streamripper.

Старо как мир.

Опубликовано
В 30.11.2016 в 15:04, stuhin сказал:

без screen все нормально работает

ссылка не на плейлист

Я указал откуда скачал плейлист. По ссылке несколько жанровых направлений от классики до электронной музыки. Сами выбирайте.

  • 1 месяц спустя...
Опубликовано

Сделал небольшой скрипт, который может рипить сразу несколько станций.

В примере записываются 3 URL (их намеренно испортил, т.е. замените на свои по ссылке в первом сообщении).

На Giga II при рипе одновременно трех станций нагрузка на роутер небольшая. Вполне можно и больше рипить.

Этот скрипт можно запустить с параметром "stop" для завершения всех рипов.

Создаем файл stream-di.sh. Размещаем в нем указанный код и делаем файл исполняемым командой 'chmod +x stream-di.sh'.

Код скрипта:

Скрытый текст

 


#!/opt/bin/sh
prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin

# Каталог, куда будут писаться рипы
SDIR='/tmp/mnt/KINGSTON1/DI'

# Список URL для рипа в формате 'описание|URL'. На каждой строчке по одной станции
SLIST='Ambient|http://___.__.fm/ambient_hi?xxxx
AtmosphericBreaks|http://___.__.fm/atmosphericbreaks_hi?xxxx
ClassicVocalTrance|http://___.__.fm/classicvocaltrance_hi?xxxx'

# Если запустить с ключем stop, то завершаются все копии рипов. Иначе запускаем в screen рип каждого из URL
if [ "$1" != "stop" ]
    then
        for STATION in $SLIST
            do  
                # Вычленяем имя станции и URL
                SNAME=`echo $STATION | cut -d '|' -f 1`
                SURL=`echo $STATION | cut -d '|' -f 2`
                echo "Starting ripping $SNAME $SURL"
                # Запускаем процесс рипа с именем окна, состоящим из имени станции
                screen -t $SNAME streamripper $SURL -q -d $SDIR
            done
    else
        # Если запущен с ключем stop, завершаем все процессы рипа
        killall streamripper
fi

 

Также рекомендую предварительно настроить screen, разместив в конфигурационном файле код, представленный ниже. В этом случае экраны с запущенными сеансами будут подписаны и между ними можно будет легко переключаться по клавишам F11 и F12, чтобы посмотреть информацию по рипу станций. В принципе этим конфигом screen пользуюсь для всех случаев, но это отдельная тема для обсуждения...

Конфиг screen в  /opt/etc/screenrc:

Скрытый текст

# Bind F11 and F12 (NOT F1 and F2) to previous and next screen window
bindkey -k F1 prev
bindkey -k F2 next

startup_message off

# Window list at the bottom.
hardstatus alwayslastline
hardstatus string "%-w%{= BW}%50>%n %t%{-}%+w%<"

# From Stephen Shirley
# Don't block command output if the terminal stops responding
# (like if the ssh connection times out for example).
nonblock on

# Allow editors etc. to restore display on exit
# rather than leaving existing text in place
altscreen on

# Enable 256-color mode when screen is started with TERM=xterm-256color
# Taken from: http://frexx.de/xterm-256-notes/
#
# Note that TERM != "xterm-256color" within a screen window. Rather it is
# "screen" or "screen-bce"
# 
# terminfo and termcap for nice 256 color terminal
# allow bold colors - necessary for some reason
attrcolor b ".I"
# tell screen how to set colors. AB = background, AF=foreground
#termcapinfo xterm-256color 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'

 

Нужно понимать, что объем флэшки и диска небезграничный. Посчитайте через минут 20 объем зарипленных мелодий и определите насколько вам хватит размера диска.

Далее можно разместить в cron вызов скрипта с параметром stop, чтоб автоматически прекратить запись станций в нужный момент. Можно, конечно этого и не делать, тогда процесс streamripper завершится сам, когда место на диске кончится.

Опубликовано
В 08.02.2017 в 17:50, K1fa сказал:

Отлично, записывает музыку с радио для машины, а что будет когда флешка полностью забъётся?

Я думаю запись на этом остановится. Можно написать простейший скрипт, который будет отслеживать размер свободного пространства и удалять самые старые файлы. Честно говоря, я об этом не задумывался, у меня 4 Тб на роутере висело.

Опубликовано
15 часов назад, Across сказал:

Я думаю запись на этом остановится. Можно написать простейший скрипт, который будет отслеживать размер свободного пространства и удалять самые старые файлы. Честно говоря, я об этом не задумывался, у меня 4 Тб на роутере висело.

4 Tb это понятно, но музыка нужна не дома, где везде есть wifi а в машине,  а там флешка всего на 16 Gb.

Вышел из положение командой -M [число]
Примеры на радио Russian Club Hits из списка по вашей ссылке в первом посте:

чтобы записать 10 Gb (10 000 Mb) музыки:

streamripper http://prem2.di.fm/russianclubhits_hi?ac4a342212fc9abdccd89eaf -M 10000

можно записать и по времени, ну скажем час (3600 секунд):

streamripper http://prem2.di.fm/russianclubhits_hi?ac4a342212fc9abdccd89eaf -l 3600

 

В 30.11.2016 в 15:44, Александр Рыжов сказал:

Чтобы каждый раз не исправлять сканирование трека на наличие паузы на нужное, вот так:

--xs_search_window=1000:1000

Я изменил в файле конфигурации streamripper.ini строчки:

xs_search_window_1=6000
xs_search_window_2=6000

на:

xs_search_window_1=1000
xs_search_window_2=1000


 

Также изменил кодировку чтобы корректно отображались русские буквы в id3 тегах и названиях файлов:

codeset_metadata=utf-8
codeset_id3=windows-1251


В streamripper.ini можно настроить все необходимое, в терминале пришлось набирать лишь

streamripper adress_vashego_radio.ru

В streamripper.ini можно зайти командой:

nano ~/.config/streamripper/streamripper.ini

Мой streamripper.ini для наглядности:

Скрытый текст

stream.thumb.jpg.5a313ca8981423f7b1237f3075e330a1.jpg

 

  • 11 месяцев спустя...
Опубликовано

Подскажите пожалуйста те кто юзает данную прогу, как сделать так, чтобы в имени файла была дата?

Я только смог сделать чтоб папка с датой создавалась, а мне ненужны папки, а нужна дата в имени.

Это может быть только дата, или произвольное имя-дата.

Делается с помощью аргумента -D %d.

Вот как у меня сейчас: streamripper http://sssxxx.ru:666/live -A -a live -D %d -l 555

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.