我想创建一个流媒体应用程序,负责发送和接收实时音频/视频流。
但是,此音频/视频流必须配备FEC客户端服务器错误机制。我进行了一些研发,发现Haivision提供了开源SRT解决方案。
我已经按照这里https://github.com/Haivision/srt的建议安装了项目,但不知道如何运行此服务器。
请指导我如何启动该服务器。尽快回复我。
最佳答案
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
(在撰写本文时)有一个将SRT库与ffmpeg一起使用以发送和接收数据的指南-这可能是您要查找的内容:https://medium.com/@eyevinntechnology/using-ffmpeg-and-srt-to-transport-video-signal-to-the-cloud-7160960f846a