我正在尝试使用libstreaming(适用于Android https://github.com/fyhertz/libstreaming的出色的流媒体库)流式传输外部USB相机。该库非常适合设备相机(正面,背面)。
但是,我无法弄清楚如何对其进行汇总,因此我可以从USB摄像机获取流并将其通过rtsp传递到VLC或其他RTSP客户端。
我尝试过的事情:
我找到了一个可以从外部摄像机(https://github.com/jiangdongguo/AndroidUSBCamera)接收视频流的库。相机实例具有2个有用的回调:setOnPreviewFrameListener(它为您提供来自外部相机的byte []数据)和startPusher(在记录时很有用,并为您提供已在h264中编码的byte []数据)。
默认情况下,libstreaming设置了一个方法(encodeWithMediaCodecMethod1()),该方法使用mediacodec对来自摄像机(h264)的流进行编码,将其打包,然后通过网络发送。
我直接在上述方法中获取了外部摄像机实例(单例),注释了与设备摄像机有关的所有代码,在推入mediacodec中的帧时复制了该部分,并粘贴到setOnPreviewFrameListener中。
当我尝试连接VLC时,它会等待几秒钟,然后断开连接...
我不认为这很复杂,但是我无法弄清我所缺少的。
我知道这与问题无关,但是如果您知道一种更简单的流式传输外部相机的解决方案,请告诉我。
谢谢!