Создание аудио-стримера на Java - с чего начать? - PullRequest
0 голосов
/ 12 мая 2011

Я хочу создать простой сервер потокового аудио Java.Для простоты это будут просто статичные MP3-файлы, но я уверен, что теория переносится.Клиенты могут быть локальными или через Интернет и могут быть любым устройством или компьютером, которые могут быть запрограммированы для связи с сервером.

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

Я думаю, что нужно учесть:

  • Аутентификация клиента - как это будет сделано, как сервер узнаетэтот пользователь является предполагаемым пользователем.

  • На клиенте будет какая-то буферизация.Когда клиент читает данные из буфера, вероятно, будет блокировка файла в файле кэшированного буфера, поэтому я не смогу просто добавить новый сегмент файла в конец.

  • Сколько файлов MP3 вам на самом деле нужно для его воспроизведения?Является ли он линейным, поэтому первый x KB содержит всю информацию о первых y секундах звуков музыки.

  • Сегменты какого размера я передаю в файл?

  • Можно ли узнать, как далеко вы находитесь в файле MP3 в потоке?Как бы с этим справиться?

  • Какой протокол мне фактически использовать для потоковой передачи?Я предполагаю, что какой-то HTTP-запрос будет лучше здесь?Можно сделать HTTP-запрос через порт, отличный от 80, не так ли?

  • Есть ли в Java встроенные протоколы для надежной передачи, или вам нужно разобраться с мелочами?и иметь дело с отправкой пакетов назад и вперед с подтверждениями ... и т.д ...

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

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

Полагаю, что во всем вышесказанном вопрос на самом деле не был, это было больше мысли вслухИтак, я думаю, почему вопросы: с чего мне начать?Есть ли интересные чтения?у кого-нибудь есть какие-либо мысли по поводу вышесказанного?

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

1 Ответ

0 голосов
/ 12 мая 2011

Какой протокол мне использовать для потоковой передачи?Я предполагаю, что какой-то HTTP-запрос будет лучше здесь?Можно сделать запрос HTTP через порт, отличный от 80, не так ли?

да, вы можете перейти через другой порт, кроме 80 (используя обозначение http://streamserver.com:8080/path/to/music.mp3)

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

имеет, если вы используете http

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

Стандартные зашифрованные соединения SSL достаточно быстрые и безопасныедостаточно для вашего

...