我想要创建一个流媒体应用程序,它负责发送和接收实时音频/视频流。但是这种音频/视频流必须配备FEC客户端服务器错误机制。我做了一些研发,发现Haivision提供了开源的SRT解决方案。我已经按照这里的建议设置了项目,https://github.com/Haivision/srt,但是不知道如何运行这个服务器。请指导我如何启动这台服务器。尽快回复我。
发布于 2019-09-18 13:46:54
SRT库提供了API指南,允许您将其构建到自己的应用程序和“集线器”中,而不是配置和运行的“服务器”。
API包含关于如何“启动”SRT和如何设置套接字以侦听通信量的信息,例如:
设置和拆卸 在使用SRT的任何部分之前,用户应该调用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。
https://stackoverflow.com/questions/57918587
复制相似问题