gpt4 book ai didi

php - 将实时MP3音频流捕获到文件

转载 作者:行者123 更新时间:2023-12-02 22:27:49 27 4
gpt4 key购买 nike

我正在尝试制定一种方法来捕获实时MP3音频流(即Internet广播/转播或Shoutcast),然后将捕获的音频保存为定义的文件长度,即1小时音频文件或2小时音频文件。

我使用bash和wget(Record radio / audio stream (asx/asf) with a webserver)在此线程上找到了一些东西,但是我想构建一个更可定制的PHP脚本,并且可以通过cron作业触发。

我想使用类似stream_get_contents()的方法,但是我从未使用过它。

有任何想法吗?

谢谢

最佳答案

这是我已经使用了一段时间的bash脚本

#!/bin/bash                                                                                                                                                                           

ls *asf &> /dev/null
if [[ $? -eq 0 ]]; then
CNT=$(ls *asf | tail -1 | perl -p -i -e 's/recording_0*(\d*).*/$1/');
else
CNT=0;
fi

while true; do
NAME=recording_$(printf "%03d" $CNT);
if [[ -f $NAME.asf ]]; then
CNT=$[ $CNT + 1 ];
continue;
fi
echo "recording $NAME";
mplayer "http://your.stream.goes.here" -dumpstream -dumpfile $NAME.asf &> $NAME.log &
sleep 2h;
killall mplayer;
CNT=$[ $CNT + 1 ];
done

这将产生具有以下名称的录音
recording_000.asf
recording_001.asf
等等
以及带有mplayers输出的日志文件(以防您需要)。
我已将时间段硬编码为2小时,但您可以轻松更改。

关于php - 将实时MP3音频流捕获到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19521478/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com