使用网络服务器记录广播/音频流(asx / asf)

时间:2012-01-25 22:00:28

标签: php linux audio-streaming

有没有办法让PHP(或在linux网络服务器上运行的任何东西)录制(无线电)的音频流?是的,我已经寻求了很多,但我似乎找不到类似的东西,虽然我确信我不能成为第一个 - 对吗?

我的目标是录制一个音频流,然后在听众开启时将其部分切碎,这样他们就可以听到自己(以及家人,朋友等)。

所以录制,上传,砍伐和发布会更好,因为我有一些志愿者愿意做切碎部分(我认为我可以照顾)。也许有一项我还没找到的服务?

任何relpy的Thnx。

1 个答案:

答案 0 :(得分:3)

我现在在这个网站上找到了它: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`
  

这是在我们的冰箱上运行并从冰球中取出来的   本地IP 127.0.0.1,但它可以从任何Internet连接运行   框(通过将127.0.0.1:8000更改为流的网址)。

     

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 - 我猜)。

希望能帮助那些让约翰斯在这里工作的人。