如何在本地运行SRT服务器?

时间:2019-09-13 06:48:58

标签: c server streaming

我想创建一个流媒体应用程序,负责发送和接收实时音频/视频流。 但是,此音频/视频流必须配备FEC客户端服务器错误机制。我进行了一些研发,发现Haivision提供了开源SRT解决方案。 我已经按照此处https://github.com/Haivision/srt的建议安装了项目,但不知道如何运行此服务器。 请指导我如何启动该服务器。尽快回复我。

1 个答案:

答案 0 :(得分:0)

SRT库随API指南一起提供,使您可以将其构建到自己的应用程序和“集线器”中,而不必将其配置和运行即可使用的“服务器”。

API包含有关如何“启动” SRT以及有关如何设置套接字以侦听流量的信息-例如:

  

设置和拆卸

     

在使用SRT C API的任何部分之前,用户应调用srt_startup()函数。同样,在应用程序退出之前,应调用srt_cleanup()函数。请注意,启动功能要做的一件事就是创建一个新线程,因此请仔细选择这些功能的执行点。

SRT使用情况-监听器(服务器)

sockaddr_in sa = { ... }; // set local listening port and possibly interface's IP
    int st = srt_bind(sock, (sockaddr*)&sa, sizeof sa);
    srt_listen(sock, 5);
    while ( !finish ) {
       socklen_t sa_len = sizeof sa;
       newsocket = srt_accept(sock, (sockaddr*)&sa, &sa_len);
       HandleNewClient(newsocket, sa);
    }

该信息全部在您突出显示的链接的API部分中:https://github.com/Haivision/srt/blob/master/docs/API.md

(在撰写本文时)有一个将ffmpeg与SRT库一起使用以发送和接收数据的指南-这可能是您正在寻找的:https://medium.com/@eyevinntechnology/using-ffmpeg-and-srt-to-transport-video-signal-to-the-cloud-7160960f846a