Streaming 使用libvlc将mp3流式传输到网络

Streaming 使用libvlc将mp3流式传输到网络,streaming,vlc,libvlc,Streaming,Vlc,Libvlc,我如何使用libvlc获取MP3文件(或者任何音频文件)并将其传输到网络,这样我就可以连接到iTunes或其他设备并收听互联网广播 C API示例是首选,尽管任何语言都可以。文档对此非常清楚,您可以创建一个媒体(我记得是vlc_media_new),将libvlc的一个实例与之关联。然后你从媒体创建一个播放器(vlc_player_from_media或类似的东西),然后开始播放 流媒体部分我帮不了你,因为我目前也在想办法,但一旦我意识到如何完成这项工作,我会帮你:)libvlc\u vlm\u

我如何使用libvlc获取MP3文件(或者任何音频文件)并将其传输到网络,这样我就可以连接到iTunes或其他设备并收听互联网广播


C API示例是首选,尽管任何语言都可以。

文档对此非常清楚,您可以创建一个媒体(我记得是vlc_media_new),将libvlc的一个实例与之关联。然后你从媒体创建一个播放器(vlc_player_from_media或类似的东西),然后开始播放


流媒体部分我帮不了你,因为我目前也在想办法,但一旦我意识到如何完成这项工作,我会帮你:)

libvlc\u vlm\u add\u broadcast
接受一个
sout
字符串,所以这似乎起到了作用:

#include <vlc/libvlc.h>
#include <unistd.h>
#include <stdbool.h>
#include <stddef.h>

int main(int argc, char **argv) {
    libvlc_instance_t *vlc;
    const char *url;
    const char *sout = "#transcode{acodec=mp3,ab=128,channels=2," \
                       "samplerate=44100}:http{dst=:8090/go.mp3}";
    const char *media_name = "Foo";

    if (argc != 2) {
        return 1;
    }
    url = argv[1];

    vlc = libvlc_new(0, NULL);
    libvlc_vlm_add_broadcast(vlc, media_name, url, sout, 0, NULL, true, false);
    libvlc_vlm_play_media(vlc, media_name);

    sleep(60); /* Let it play for a minute */

    libvlc_vlm_stop_media(vlc, media_name);
    libvlc_vlm_release(vlc);
    return 0;
}
#包括
#包括
#包括
#包括
int main(int argc,字符**argv){
libvlc_实例_t*vlc;
const char*url;
const char*sout=“#转码{acodec=mp3,ab=128,通道=2,”\
“samplerate=44100}:http{dst=:8090/go.mp3}”;
const char*media_name=“Foo”;
如果(argc!=2){
返回1;
}
url=argv[1];
vlc=libvlc_new(0,NULL);
libvlc_vlm_add_broadcast(vlc,媒体名称,url,sout,0,NULL,true,false);
libvlc_vlm_play_media(vlc,media_name);
睡眠(60);/*让它播放一分钟*/
libvlc_vlm_stop_media(vlc,media_name);
libvlc_vlm_发布(vlc);
返回0;
}

如何在一次广播中播放多个媒体循环?url变量用于什么?因为那里什么都没有