将视频输入流转换为RTMP

Mar*_*rko 36 video streaming android rtmp rtp

我想将视频录制从我的Android手机流式传输到网络媒体服务器.

第一个问题是,当将MediaRecorder输出设置为套接字时,流会丢失一些mdat大小的标头.这可以通过在本地预处理该流并将丢失的数据添加到流中以便生成有效的输出流来解决.

问题是如何从那里开始.

如何将该流作为RTMP流输出?

MrG*_*mez 49

首先,让我们解开你的问题.正如您所推测的那样,Android目前不支持RTMP.您可以使用一些侧库来添加支持,但这些可能不是完整的实现,或者有其他不良的副作用和错误导致它们无法满足您的需求.

在这种情况下,常见的替代方案是使用RTSP.它提供了具有自己的RFC的可比会话格式,与RTP结合时的数据包结构与您所需的协议非常相似(没有一些细节).您可以在此处执行必要的修正以将RTP/RTSP转换为RTMP,但如上所述,此类工作目前超出了应用程序的开发范围.

所以,我们假设你想使用RTMP(使这个线程无效),并且上面链接的库不能满足你的需求.

例如,您可以按照本教程使用Livu,Wowza和Adobe Flash Player进行录制和回放,与Livu开发人员讨论如何授权他们的客户端.或者,您可以使用此客户端库及其完整的Android记录器示例来构建您的客户端.

总结一下:

RTSP

RTMP

祝你的应用好运.我承认我对所有这些库的理解都不太全面,但在撰写本文时,这些似乎是这个领域的标准解决方案.

编辑:

根据OP,走RTMP库集:

简而言之:需要做更多的工作.这些例子的其他答案和改进是这里需要的.