сохранение любимых треков из радиопотока - PullRequest
0 голосов
/ 21 ноября 2011

Вот общее описание моей проблемы.

У меня есть папка для моей любимой музыки (хорошо, это на самом деле не проблема: D) Есть 2-3 потока радиостанцийкоторый я периодически переключаюсь.Иногда, когда я слушаю какой-нибудь трек по радио, я понимаю, что он мне нравится, и хочу сохранить его в своей папке «Избранное».Как вы можете догадаться, проблема в том, что когда я решаю, что хочу сохранить трек, он уже частично воспроизведен, в то время как он должен быть сохранен полностью с самого начала.

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

Я использую Ubuntu Linux 10,04, Rhythmbox для прослушивания потока.Я в порядке установки любых других программ из репозитория Ubuntu или из внешнего источника.Я в порядке с написанием / использованием сценариев Python, Bash или даже программ на Java или C ++.

Мои исследования по этой проблеме следующие.

Популярное программное обеспечение для радиопотокаразорвать это потокУ меня не было проблем с этим, сохраняя все треки в один файл или разбивая входящий поток на отдельные файлы.Таким образом, мой первый подход состоял в том, чтобы просто начать копировать поток на отдельные треки и транслировать его, чтобы иметь возможность слушать себя.Проблемы с этим подходом:

  • У меня много файлов, которые мне нужно будет обработать, удалив все, кроме тех, которые мне понравились
  • Как я помнюкакие треки мне действительно понравились?
  • Загрузка жесткого диска - при копировании с 2-3 потоков, похоже, постоянная загрузка на диск.Это кажется излишним, так как большая часть данных, сохраненных на диск, будет затем удалена

Я считаю, что первую проблему можно решить с помощью некоторой фоновой программы / скрипта - удаление последнего файла, если кнопка «Мне нравится»не нажимался ранее.

Вторую проблему можно решить с помощью dbus для ритмбокса, например, написав скрипт python , чтобы задать ритмбоксу название текущей воспроизводимой дорожки.

Я еще не нашел решение для третьей проблемы.Мне кажется, что именованные каналы Linux - это способ вообще избежать загрузки диска.Но при копировании на отдельные дорожки streamripper делает создание файлов, поэтому я не могу сделать их именованными каналами вместо обычных файлов.Конечно, я могу создать именованный канал и дать команду stramripper сохранить весь поток в этот файл, одновременно читая данные с другого конца канала с помощью некоторой программы.Но в этом случае я не могу использовать логику разделения треков streamripper.

Так как мне решить мою проблему?Есть ли способ, которым я могу завершить свой подход, решив третью проблему?Или есть совершенно другой подход к моей общей проблеме?Единственное требование к программному обеспечению - это сама Ubuntu.Я могу принимать любые программы.

1 Ответ

1 голос
/ 22 ноября 2011

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

https://www.google.com/search?q=linux+make+ram+disk

...