
Запись онлайн радио на роутер: MikroTik RouterOS Script
JDJ 3 минуты назад Запись онлайн радио на роутер: MikroTik RouterOS Script Простой 6 мин 49 DIY или Сделай сам Сетевое оборудование Умный дом Системное администрирование * Лайфхаки для гиков Кейс Продолжаю мучить свой...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. JDJ 3 минуты назад Запись онлайн радио на роутер: MikroTik RouterOS Script Простой 6 мин 49 DIY или Сделай сам Сетевое оборудование Умный дом Системное администрирование * Лайфхаки для гиков Кейс Продолжаю мучить свой запасной роутер. Ранее он научился присылать мне смс. Потом научился мониторить свой мобильный интернет.
Теперь он умеет записывать музыку с онлайн радиостанций. Чтоб другие роутеры в сети над ним не смеялись, зато что он слушает какую то попсу, записывать будем BassDrive и JungleTrain. Для этого нужна только USB флешка, ну и сам роутер.
Технические детали
Скрипт свежий, проверялся на 7. 2Скриптов будет два, первый просто пишет поток в mp3 файл, назовём его bassDriveRecorder. В именах скриптов я использую название станций, чтоб удобно было писать сразу несколько потоков.
Здесь у нас проверка и удаление "temp" файла перед записью и сама запись. :global bassDriveStartFile :if (] > 0) do={ /file remove } /tool fetch url=" dst-path=$bassDriveStartFile # # # # # # скрипт пишет поток в mp3 файл, с (стартовым) именем. Имя файла в переменную bassDriveStartFile задаётся во втором скрипте.
В моём случае стартовое имя для файла при начале записи всегда usb1/bassDrive/bassDriveLive. mp3При таком запросе к потоку, fetch будет писать файл бесконечно. Если запись прервать или остановить скрипт, файл будет удалён как не валидный.
Отраслевые последствия
По этому мы после начала записи, на второй итерации второго скрипта, переименуем его. Тогда при остановке пишущего скрипта, файл останется. Так как fetch будет пытаться удалить usb1/bassDrive/bassDriveLive.
mp3 которого уже нет. Второй скрипт менеджер, назовём его bassDriveManagerДля него (сами) создаём задание в планировщике, и запускаем его раз в минуту. :global bassDriveCurrentShow :global bassDriveStartFile :local scriptRecorder "bassDriveRecorder" :local diskSlot "usb1" :local folder ($diskSlot .
"/bassDrive/ :local freeSpace ((->0)->"free :if ( = 0) do={ :log warning ("disk unavailable: " . " stopped /system script job remove :quit } # проверить свободное место, минимально допустимое свободное место (100 MB) :local minFreeBytes 104857600 :if ($freeSpace < $minFreeBytes) do={ :log warning ("low disk space on " . " stopped /system script job remove :quit } # начало блока отвечающего за название шоу или песни :local on-error={ :log warning ("get now-playing show failed " .
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





