如何重新编码流中的流和翻译?

时间:2015-07-16 14:24:14

标签: stream shoutcast icecast internet-radio

我有关于Icecast / Shoutcast流的网址,我怎样才能以多种比特率传递这些流?我知道如何重新编码文件,但不知道如何以多种比特率重新编码流。

For example i find two icecast/shoutcast stream url/server:

http://icecast_stream.ru:8000/play
http://shoutcast_stream:8000/

I want to relay it in multiple bitrates:
http://localhost:8000/icecast_stream_32
http://localhost:8000/icecast_stream_64
http://localhost:8000/icecast_stream_128


http://localhost:8000/shoutcast_stream_32
http://localhost:8000/shoutcast_stream_64
http://localhost:8000/shoutcast_stream_128

我可以使用Icecast + Ices或我需要使用哪种软件吗?

1 个答案:

答案 0 :(得分:1)

可以使用多个工具完成流转码。 avconv / ffmpeg,vlc,liquidsoap,ezstream,...
一个例子:https://stackoverflow.com/a/29500982/2648865

迈向多比特率部分:在大多数情况下,您需要运行转码工具的多个流程。
如果您担心带宽消耗,那么我建议您在本地Icecast服务器上设置远程流的中继,并将其用作转码的输入。

在编辑问题后添加


我猜两个原始流都是128k 如下所述:http://icecast.org/docs/icecast-2.4.1/relaying.html#setting-up-a-single-broadcast-relay

<relay> <server>icecast_stream.ru</server> <port>8000</port> <mount>/play</mount> <local-mount>/icecast_stream_128</local-mount> <relay-shoutcast-metadata>1</relay-shoutcast-metadata> </relay>

要获得两个质量较低的流,请按上述步骤进行操作。使用冰是很复杂的,所以其他一个会更容易。 如果您想自动启动转码,请查看:
http://icecast.org/docs/icecast-2.4.1/config-file.html#mountsettings - 特别是on-connect:
<mount> <mount-name>/icecast_stream_128</mount-name> <on-connect>/usr/local/bin/start-transcoders-icecast-stream</on-connect> </mount>
注意:此命令在流可用之前运行,您可能需要延迟启动转码器几秒钟以避免出现问题。