我们目前正在开发一个实时流应用程序,其中包括:
用C#编写的客户端将从网络摄像头捕获帧,并且必须在视频块中对其进行编码(更多信息)
我们在Node.js中编写的流服务器,它基本上只接收来自上述客户端的视频块,并使用Socket.io作为底层传输协议将它们发送到webapp
一个webapp,它将使用VIDEO标签+ MediaSource API来播放视频。
由于MediaSource API支持的视频格式和这些视频格式的C#编码器API(MPEG-DASH,WebM,OGG + Theora)所施加的限制,我们考虑到了这个解决方案:
C#客户端将使用Theora作为视频编解码器在OGG视频中编码1或2秒的视频。块准备就绪后,将发送到流服务器,流服务器将其发送到webapp。 webapp将从网络中读取此视频块(实际上是1-2秒的独立视频),就好像它正在从文件和块中读取后,webapp将重现它们,就好像它是单个流一样。
不幸的是,我的团队中的其他人都没有任何视频编码/流媒体的经验,所以我的问题是:有没有人知道一个好的C#库,它可以从一系列从一个帧中捕获的OGG封装视频网络摄像头,所以它可以从MediaSource API读取没有任何麻烦?
任何其他解决方案,只要它使用视频标签,webapp上的MediaSource API和客户端上的C#,都可以接受。
答案 0 :(得分:1)
我不相信有很多流行的OGG编码库。但是,最好创建自己的。我会从这里开始: http://tools.ietf.org/html/rfc5334
答案 1 :(得分:0)
我和Gstreamer一直好运,但鉴于您的语言和编码要求,我不确定它是否会奏效。值得一看。