Тестування аудіо-конференцій за допомогою онлайн-радіо Pandora

Нещодавно ми запустили новий функціонал на нашій платформі VoxImplant, який дозволяє робити HD-аудіо конференції, а також програвати mp3 і ogg файли в дзвінки з SDK або SIP wideband (раніше все було в 8КГц, тепер можна все 48КГц). Концептуально потрібно було програвати аудіо через платформу в конференцію і слухати як все це працює в залежності від кількості учасників. Нам хотілося придумати цікавий спосіб потестувати все це господарство і, трохи поміркувавши, ми знайшли досить нестандартний варіант — використовувати онлайн-радіо. Сподіваюся, що вас це хоч трохи заінтригувало, тому ласкаво просимо під кат.

Pandora і API
Для тих, хто не в курсі, Pandora.com — американське онлайн-радіо, доступне для прослуховування тільки в США. Звичайно, перебування у США перевіряється по IP, тому не надто складно зареєструватися, скориставшись яким-небудь TunnelBear. У сервісі ти вибираєш собі станції за смаком по імені виконавця, а воно потім створює плейлист, виходячи зі своїх розумних алгоритмів. Загалом, концепція склалася наступна — підключаємося до радіо, воно видає нам mp3, ми їх програємо конференцію VoxImplant, і всі учасники конференції слухають музику. На щастя, у Pandora ще й API виявилося, хоч і неофіційна, але цілком робочий https://6xq.net/pandora-apidoc/json/

Інтеграція з VoxImplant
Підключатися до API можна прямо з сценарію VoxImplant, нагадаю, що пишуться вони на JavaScript і виконуються нашим движком, звідти легко можна робити http запити до зовнішніх веб-сервісів. Наші сервера є по всьому світу, тому для тестування ми використовували ті, які знаходяться в США, щоб Pandora не сварилася.
В результаті вийшов якийсь такий сценарій https://gist.github.com/aylarov/ee7f509ca182e8437b2abed9d415f2f1в ньому можна помітити використання Promise і blowfish.encrypt, цей функціонал підключається за допомогою додаткових JS-файлів — es6-promise і blowfish.js Rule програми перед основним сценарієм. Основний сценарій програє mp3-файли, URL-адреси яких видає API Pandora, в конференцію. На рівні платформи mp3 перетворюється в real-time потік в кодеку Opus (48КГц), поки правда в моно, так як зі стерео в WebRTC є ряд нюансів, пов'язаних з эхоподавлением, так і в разі аудіо-конференції стерео не дуже працює.

Клієнт для тестування
За допомогою Web SDK VoxImplant накидали додаток, що підключається і робить дзвінок на конференцію, і навіть є можливість перемикати треки і радіо-станції. Ну а далі сидимо і слухаємо музику :)
Ну і на закуску — послухати Pandora через VoxImplant можна тут.

P. S. Звичайно, це не єдиний спосіб, який ми використовували для тестування конференцій, звичайні дзвінки де люди спілкувалися теж ніхто не відміняв.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.