现有VoIP系统的视频流-应该使用哪些库

Video stream for existing VoIP system - which libraries should be used?

本文关键字:系统 VoIP 的视频 现有      更新时间:2023-10-16

我目前正在进行的项目需要在现有VoIP功能的基础上进行添加。语音处理的核心是C,其余部分是C++和Qt,音频通过portaudio处理。用户之间的连接目前是通过UDP建立的,我认为必须为计划中的视频连接更改UDP。开发平台是VS2012上的Windows,但系统是跨平台的。

简而言之,我想做的是:从网络摄像头获取视频信号,同步来自C核心的音频和来自网络摄像头的视频,并使用库和编解码器对各个侧的信号进行(去)编码/多路复用,并通过RTP发送。该系统应能够进行多播传输。

我对可能的库做了一些研究,偶然发现了ffmpeg和libVLC。对于编解码器,我考虑使用x264。如果我是对的,那么ffmpeg和libVLC都应该能够实现我想要的功能?

然而,我不确定该选哪一个,而且我真的无法从他们的文档中提取,哪一个库更适合。有没有人遇到过类似的问题,可以帮助我?在视频处理和编码方面,我是个新手。

额外的问题:你有任何关于同步视频和音频信号的提示或方法吗?

如果有人感兴趣,这就是我最终要做的:

我目前使用的是WebM容器格式,Vorbis的VP8(但如果脱离测试版,很快就会改为Opus的VP9),由ffmpeg/libav库处理,用于编码/解码/复用等,SDL用于显示和线程处理。ffmpeg/libav是在Unix上交叉编译的,支持LGPL,以保持我们的项目的封闭源代码。