现有VoIP系统的视频流-应该使用哪些库
Video stream for existing VoIP system - which libraries should be used?
我目前正在进行的项目需要在现有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,以保持我们的项目的封闭源代码。
相关文章:
- C++,系统无法执行指定的程序
- 在UNIX系统中使用DIR查找文件的字节大小
- 错误处理.将系统错误代码映射到泛型
- 当系统的卷被修改时,如何修改WASAPI环回捕获卷
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 在C++游戏中与库存系统作斗争
- 文件系统:复制功能的速度秘诀是什么
- c++17文件系统::recursive_directory迭代器()在mac上没有给出这样的目录,但在windows上
- 在gtest.中使用fff.h模拟系统API
- 如何制作无限制照明系统
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 如何传递多个 std::文件系统选项?
- 遍历顺序由 std::文件系统directory_iterator给出
- C++系统找不到指定的文件错误
- 系统参数信息A 与 SPI_GETMOUSE 返回 0
- libstdc++ 文件系统中未初始化的用法?
- 如何在ECS框架中更新组件数据和通知系统
- boost::文件系统::recursive_directory_iterator多线程安全
- 如果整个应用程序是虚拟映射的,为什么 new 会进行系统调用?
- 现有VoIP系统的视频流-应该使用哪些库