Pull to refresh

Comments 7

Запускаем вещание (я взял плейлист с vocaltrance.fm (не реклама)

В Эстонии ( И не только, не знаю как у вас.), к примеру, квоты на национальных исполнителей ( На Украине вроде тоже вводится такое. ), вы не можете взять и транслировать в общественные места свою музыку, ибо тогда не будете платить отчисления в торговых центрах за песни и музыку национальных авторов.
Не понятно как завязывается мультикаст поток и asterisk в обоих случаях. Может стоит получше описать?
Судя по тексту, практически никак. Музыкальный multicast-поток всегда генерируется через ffmpeg и c Asterisk'ом никак не связан.
На IP-SIP динамиках переключение с музыки на вызов идёт за счёт приоритета канала.
На raspberry музыка воспроизводится из multicast-потока отдельной программой omxplayer, а Asterisk просто эту программу прибивает при поступлении звонка и запускает после окончания вызова.
По большому счету вы правы. В случае с динамиком — показано как настроить мультикаст на него с нужными приоритетами. В случае raspberry — Asterisk контролирует работу omxplayer'a, однако для этого asterisk и нужен, он контролирует когда играть музыку, а когда говорить оператору.

Цель статьи же в том, чтобы показать, насколько разноплановым может быть asterisk, не просто банальной звонилкой, лично мне было очень интересно это реализовывать, чей я и поделился с сообществом.
Все очень просто все время проигрывется музыка, если нужно сделать какое либо оповещение звоним на нужную колонку и делаем оповещение.
>>killall /usr/bin/omxplayer.bin
Сурово конечно, а можно как-то «попросить» плеер плавно снизить громкость?
Да, можно, используя флаг «vol».
Вот описание:
on starting command line, param --vol YYY, double millibels, default 0, range [-6000:0]
by stdin interface, sending ± to omxplayer will increase/decrease volume for 300 dmbels
with DBUS interface, cmd 'set volume', value double:XXX, default 1, range [0:1]
xxx to yyy relation is: XXX = 10 ^ (YYY / 2000)… according to omxplayer.cpp source code, reverse formula would be: YYY = 2000 * (log XXX).

so if we need:

volume 1%, XXX=0.01 and YYY=-4000 (10^(-4000/2000)=10^-2=0.01
volume 10%, XXX=0.1 and YYY=-2000 (10^(-2000/2000)=10^-1=0.1
volume 50%, XXX=0.5 and YYY=-602 (10^(-602/2000))~=0.5
volume 100%, XXX=1 and YYY=0 (10^(0/2000)=10^0=1)
volume 150%, XXX=1.5 and YYY=352… (for boost test, normal values are <=100%)
Sign up to leave a comment.