我有一个应用程序,从高清摄像机捕获现场视频,并将其流式传输到视频流服务器。我目前使用Adobe Flash Media Live Encoder(FMLE)将捕获的视频流发送到服务器。
问题是FMLE不支持linux。我来acroos VLCJ和Xuggler作为FMLE的可能的替代品,也是这些提供了更好的控制编码的媒体,这样我们就可以在可选的运动检测器,过滤器等。我的意思是,有没有什么公共接口可以让我将捕获到的流从vlcj呈现给Xuggler?
发布于 2015-06-10 21:37:47
目前还没有连接这两个库的很好的接口(据我所知),但您也许能够在这两个库之间传输原始数据。
VLCJ的DirectMediaPlayer有一个render回调,它提供了一个到原始像素数据的钩子(有关特定示例,请参阅here )。通常,这用于Java层上的直接像素操作(比如上面示例中的视频灰度),但是没有什么理由不能将数据通过管道传输到Xuggler的IBuffer,然后再将其包装到IVideoPicture中(从那里您就进入了Xuggler的领域)。
我自己从来没有尝试过做这样的事情,所以你可能需要跳过一些额外的障碍--但从原则上讲,这似乎是可能的。我认为主要的问题是速度,如果你需要实时的速度;在高清视频的CPU上做这一切对你的处理器来说是不小的要求。
https://stackoverflow.com/questions/15338465
复制相似问题