[WT] [Архив] [Поиск] [Главная] [Управление]
[Совместно с IIchan.ru]

[Назад]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   (reply to 4486)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаемые типы файлов: 7Z, BZ, GIF, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP
  • Максимально допустимый размер файлов: 10000 кБ.
  • Изображения, размер которых превышает 200 на 200 пикселей, будут уменьшены.
  • Ныне 1292 unique user posts. Посмотреть каталог
  • Радио:

Файл: 130480930265.png-(59.65KB, 300x256, thumb-java-duke-guitar.png)
4486 No. 4486 watch    
Уважаемый анон, меня уже который месяц гложет идея запиливания своего собственного маленького сервера на жабе для стриминга музыки себе на работу.
Однако гугль говорит что у меня кривые руки и не дает самой важной информации - как, собственно, взять мп3 файл и начать передавать его клиенту, как в радио.

Алсо, ворбис стримить я могу, но, как бы, все 175Гб тохомузыки в мп3, и брать перегонять каждый раз в огг поток это довольно ресурсоемкая задача.
В общем, Анон, на тебя надежда.
Развернуть все изображения
>> No. 4487    
А сервер для интернет-радио, вроде shoutcast почему не подходит?
>> No. 4488    
Можно купить mp3 плеер.
>> No. 4489    
>>4487
Хочется (как обычно) написать самому же, заточить под себя нужные фичи.
В противном случае да, придется разбираться с шауткастом.
>> No. 4490    
Что значит стримить? Такого понятия не существует.

Бросился было объяснять, но понял что только зря потрачу время.
>> No. 4491    
>>4490 Как тогда обозвать процесс вещания интернет радиостанции?
>> No. 4492    
>>4491
Так и обзывай: вещание. Хотя это обычная схема клиент-сервер (cервер слушает порт - клиент коннектится, сервер начинает передавать данные с выхода системного микшера. радиовещалки ни разу не ставил, в гугле про это не читал, это просто догадка, так что помидорами не кидайте), а не мультикаст какой-нибудь.
>> No. 4493    
>>4492 Меня интересует сам формат "вещания". Мы берем обычный мп3 файл, декодируем его, пихаем по частям в контейнер и передаем частями клиенту, который по мере получения новых чанков с данными проиграывает себе этот файл.
И тут речь не идет о мультикастах или юникастах.
>> No. 4494    
>>4490
>Бросился было написать пост, но не знал о чем. Решил написать ни о чем.
>> No. 4495    
>>4493
Ну зачем декодировать? Клиент сам вполне способен это сделать. Тем более чем меньше трафика передадим, тем лучше. Несжатое ИКМ аудио весит гораздо больше обычного mp3. Ну а дальше типа того, что ты написал. Должен быть буффер с двумя частями, пока в одну записываются принятые данные, другая часть декодируется и проигрывается.

Гугли и смотри исходники.
>> No. 4496    
>>4495 Возможно "декодирование" в этом контексте неправильное слово. По сути, мы же не можем просто брать обычный мп3, резать его на куски и в исходном виде передавать клиенту. Нужна какая-то обработка.
Гуголь на первых порах мне ничего путного не выдал. Как проиграть поток на клиенте - пожалуйста, как реализовать серверную часть - возможно, я пока не забурился настолько глубоко. Опять же, я решил сразу спросить у анона, может он сразу ткнет меня носом в правильный ресурс и избавит от сотни фрустрации от гугления.
>> No. 4497    
>>4489
Там есть все нужные функции. Насчет разбираться. Лет эдак 5 назад у нас в локалочке один недалекий 8-классник держал подобную штуку на домашнем компьютере. Думаю, после этого слово "разбираться" не стоит применять в подобном контексте.

А вообще ты какие-то костыли задумал.
>> No. 4498    
>>4496
Ну почему не можем? Можно при коннекте передать служебную инфу о потоке, а потом сразу начать передавать mp3 фреймы, хоть с середины файла.
>> No. 4499    
>>4498 Вот это я и хотел услышать. Получается, нам надо расчленить файл на фреймы, добавить еще специфический для мп3 хедер для потока (?), разбить на пакеты и передавать клиенту с определенной частотой.
>> No. 4500    
Файл: 130486299440.png-(70.92KB, 1738x706, mp3.png)
4500
>>4499
Для начало нам нужно почитать про формат mp3 хотя бы здесь https://secure.wikimedia.org/wikipedia/ru/wiki/MP3

Ничего не надо разбивать, все уже разбито до нас. Согласно википедии для декодирования текущего фрейма используются еще два фрейма: предыдущий и последущий. Т.о. передав мета данные, а затем три фрейма, можно уже восспроизводить.
>> No. 4501    
>>4500 Спеку по мп3 на вики я просмотрел первым делом(по диагонали, но не в этом суть). Вопрос в метаданных.
>> No. 4502    
>>4501
А что не так с метаданными? Инфа о треке полезна, но не обязательна для трека. Можешь и не передавать.
>> No. 4503    
>>4502 Под необязательными ты имеешь в виду эти данные:
HTTP/1.0 200 OK
Content-Type: audio/mpeg
icy-br:256
ice-audio-info: ice-samplerate=44100;ice-bitrate=256;ice-channels=2
icy-br:256
icy-description:
icy-genre:
icy-name:Radio
icy-private:0
icy-pub:1
icy-url:http://example.com
Server: Icecast 2.3.2
Cache-Control: no-cache
icy-metaint:16000

?
>> No. 4504    
(Я просто скопировал читабельные данные из пакета от сервера)
>> No. 4505    
>>4503
>ice-audio-info: ice-samplerate=44100;ice-bitrate=256;ice-channels=2
Это инфа из хидера. Это не метаданные. А вот инфа об исполнителе, о жанре и т.д. - это метаданные.
Кстати по этому выводу смею предположить, что этот icecast все-таки декодирует аудио файлы и приводит их к определенному формату, а получившееся уже вещает. В принципе логично, можно было и раньше додуматься :3
[Назад]


Удалить сообщение []
Пароль  
[Mod]