Across Posted November 24, 2016 Share Posted November 24, 2016 Озадачился включить запись онлайн-радио 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. 2 Quote Link to comment Share on other sites More sharing options...
stuhin Posted November 30, 2016 Share Posted November 30, 2016 без screen все нормально работает В 11/25/2016 в 03:56, Across сказал: Скачал плейлист с актуальным ссылками тут. ссылка не на плейлист Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted November 30, 2016 Share Posted November 30, 2016 В 24.11.2016 в 23:56, Across сказал: P.S. Иногда сообщениях streamripper можно увидеть следующее: [skipping] <имя трека> - запись идёт, но начало записи не совпадает с началом трека, в этом случае готовый файл остаётся в incomplete. [ripping] <имя трека> - запись идёт и в этом случае готовый файл также остаётся в incomplete. Пока не понял как это исправить на уровне самого streamripper. Старо как мир. Quote Link to comment Share on other sites More sharing options...
Across Posted December 1, 2016 Author Share Posted December 1, 2016 В 30.11.2016 в 15:04, stuhin сказал: без screen все нормально работает ссылка не на плейлист Я указал откуда скачал плейлист. По ссылке несколько жанровых направлений от классики до электронной музыки. Сами выбирайте. Quote Link to comment Share on other sites More sharing options...
Across Posted December 1, 2016 Author Share Posted December 1, 2016 В 30.11.2016 в 15:44, Александр Рыжов сказал: Старо как мир. Охотно верю, только нет привычки сразу гуглить. А в целом, спасибо! Quote Link to comment Share on other sites More sharing options...
K1fa Posted February 8, 2017 Share Posted February 8, 2017 Отлично, записывает музыку с радио для машины, а что будет когда флешка полностью забъётся? Quote Link to comment Share on other sites More sharing options...
gvan Posted February 10, 2017 Share Posted February 10, 2017 Сделал небольшой скрипт, который может рипить сразу несколько станций. В примере записываются 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 завершится сам, когда место на диске кончится. 1 Quote Link to comment Share on other sites More sharing options...
Across Posted February 11, 2017 Author Share Posted February 11, 2017 В 08.02.2017 в 17:50, K1fa сказал: Отлично, записывает музыку с радио для машины, а что будет когда флешка полностью забъётся? Я думаю запись на этом остановится. Можно написать простейший скрипт, который будет отслеживать размер свободного пространства и удалять самые старые файлы. Честно говоря, я об этом не задумывался, у меня 4 Тб на роутере висело. Quote Link to comment Share on other sites More sharing options...
K1fa Posted February 12, 2017 Share Posted February 12, 2017 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 для наглядности: Скрытый текст 2 Quote Link to comment Share on other sites More sharing options...
Mihail_Boyanskiy Posted January 16, 2018 Share Posted January 16, 2018 Подскажите пожалуйста те кто юзает данную прогу, как сделать так, чтобы в имени файла была дата? Я только смог сделать чтоб папка с датой создавалась, а мне ненужны папки, а нужна дата в имени. Это может быть только дата, или произвольное имя-дата. Делается с помощью аргумента -D %d. Вот как у меня сейчас: streamripper http://sssxxx.ru:666/live -A -a live -D %d -l 555 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.