使用networking服务器logging广播/audiostream(asx / asf)

有没有办法让我的PHP(或任何运行在Linuxnetworking服务器上)录制(放大器的)audiostream? 是的,我已经find了很多,但我似乎无法find像这样的东西,但我确信我不能成为第一个 – 对吗?

我的目标是录制一个audiostream,然后在听众打开的时候将其中的一部分剪下来,这样他们可以在之后(和家人,朋友等)听自己的声音。

所以录制,上传,剪切和发布会更好,因为我有一些志愿者愿意做切片(我想我可以照顾)。 也许有一种服务,我还没有find(还)?

thnx任何relpy。

我现在在这个网站上发现它: http : //www.freelists.org/post/darkice/Using-cron-and-wget-for-hourly-archiving-Was-Ogg-Recording-and-Cutting,1

以防万一:

下面的bash shell是在cron的时候启动的:

#!/bin/bash #Go to the archive directory: cd /aa/icecast/archive #Stop the archiving for the last hour: kill `cat archivePID` #Start recording in the background (&) a new archive file of the stream "http://127.0.0.1:8000/stream.ogg": wget http://127.0.0.1:8000/stream.ogg & #Get the Process IS for the job we just started: echo $! > archivePID #Wait a few seconds to make sure the job has started and the archive file has been opened: sleep 5 #Rename the current archive file to a name based on the date and time (YYYYMMDD-HHMM.ogg): mv stream.ogg `date +%Y%m%d-%H%M.ogg` 

它运行在我们的icecast框上,通过本地IP 127.0.0.1从icecast中获取流,但它可以从任何连接Internet的盒子(通过将127.0.0.1:8000更改为流的url)运行。

Wget打开一个与输入流相同名称的输出文件(在我们的例子中为“stream.ogg”)。 但几秒钟后,脚本将根据当前的日期和时间将文件重命名为名称。 (Wget不知道这是因为它正在写入一个打开的文件句柄而不是文件名。)

请注意,我们的流是ogg格式,被命名为“stream.ogg”,而shell脚本反映了这一点。 如果您的数据流是mp3格式的,或者被命名为stream.ogg以外的其他数据,则需要相应地更改脚本(具体为wget命令和mv命令)。

希望有所帮助。

问候,

约翰

我已经通过录制AAC(ASX流发送的AAC数据? – 不熟悉这些东西是如何工作或定义的)和MP3流进行了测试。 录制好的和VLC播放都没有问题。 但是,ASX文件似乎已经被已知的网页播放器(例如JWPlayer / Longtail)所损坏(逻辑上,因为它是一个派对流)。 但MP3流的录制部分似乎不受此影响。

下降使用MP3的AAC == 45Mb与12Mb(每小时@ 96kbps – 我猜)。

希望帮助某人把约翰斯放在这里工作。