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