下载 .flv 流

Downloading a .flv stream

我正在尝试设置一个 cronjob,它将在每天的特定时间 运行 录制 .flv 音频流一个小时,然后保存文件并退出录制。

我知道有很多 rtmp 工具可以下载这些东西,但我不确定流是否真的是 rtmp,因为在 VLC 等播放器中使用 rtmp 协议不起作用。

在VLC中我可以播放:

http://live.leanstream.co/CKBTFM?type=.flv&playertype=socast1

但是我不能玩:

rtmp://live.leanstream.co/CKBTFM?type=.flv&playertype=socast1

如何发现此流正在使用哪种协议,以便找到正确的工具。

编辑:看起来我实际上可以更改 URL 以便它给我一个不同的格式,例如 .mp3:

http://live.leanstream.co/CKBTFM?type=.mp3

当尝试使用 Streamripper 或 wget 等工具时,我收到 404 错误,这没有意义,因为我可以从我的浏览器和 vlc 收听流:

$ wget -O stream.mp3 "http://live.leanstream.co/CKBTFM?type=.mp3"
--2015-06-24 13:58:23--  http://live.leanstream.co/CKBTFM?type=.mp3
Resolving live.leanstream.co (live.leanstream.co)... 199.168.112.72
Connecting to live.leanstream.co (live.leanstream.co)|199.168.112.72|:80... connected.
HTTP request sent, awaiting response... 404 Not Available
2015-06-24 13:58:24 ERROR 404: Not Available.

您可以使用 ffmpeg 而无需过多担心协议和格式,因为它具有自动检测功能。

ffmpeg -i "http://live.leanstream.co/CKBTFM?type=.flv&playertype=socast1" -t 3600 -f flv out.flv

其中 -t 3600 是 1 小时的时间限制。

如果您只需要获取有关流的信息,您可以使用 ffprobe

https://www.ffmpeg.org/