解决方案,发挥各种溪流在星号



我们在手机上播放一些广播电台。他们中的大多数都有MP3格式的流媒体。有的用彩信,有的用RTSP。

我们有两个问题:

1)找到所有常见格式的解决方案。目前只有MP3可以使用madplay。彩信需要玩家不断死亡。2)即使使用疯狂播放,盒子也只能处理20-30个不同的流,因为每个流使用2-3%的CPU。目前,musiconhold.conf在启动时启动每个bash脚本,所以如果我们有30个通道,我们需要拉出所有的通道,不管是否有人调用侦听。

下面是我们使用的两个bash脚本:

Madplay:

#!/bin/bash
wget -q -T 120 -O - http://example.org/stream.mp3 | /usr/local/bin/madplay -Q -o raw:- --mono -R 8000 -a -6 -

媒体播放器

#!/bin/bash
if [ -n "`ls /tmp/pdmohpipe`" ]; then
    rm -f /tmp/pdmohpipe
fi
PIPE="/tmp/pdmohpipe"
mknod $PIPE p
sleep 3
/usr/local/bin/mplayer mms://10.10.10.10/radio_online -really-quiet -quiet -ao pcm:nowaveheader,file=$PIPE -af resample=8000,channels=1,format=mulaw  | cat $PIPE
rm $PIPE 

也许使用moh realtime会有所帮助,因为只有当有人想听它时它才会被拉出来?我知道FreeSwitch支持VLC,有人知道Asterisk是否有这样的支持吗?

您可以使用任何能够将输出更改为slin(8khz 16位未压缩pcm)的解决方案

每个moh类可以为每个box使用一个hold线程。如果需要,请使用

[general]
;cachertclasses=yes ; use 1 instance of moh class for all users who are using it,
                    ; decrease consumable cpu cycles and memory
                    ; disabled by default

请注意,这是musiconhold模块的GLOBAL设置。因此,每个具有相同moh类的新调用者将通过audiohook连接到相同(转码)的moh类,类似于会议。所有人都会听到文件/流的相同时刻

相关内容

  • 没有找到相关文章

最新更新