问题在于我需要对h264中的视频和AAC中的音频进行编码,使用AndroID的MediaRecorder进行编码非常容易.所以我开始寻找AndroID的RTMP库,发现这个Red5 port似乎正在工作挺好的.使用它我可以很容易地流式传输存储在手机上的视频文件,音频也可以正常工作.
所以我的问题如下:有没有办法将AndroID的MediaRecorder输出连接到RTMP库?我想方法是在setoutputfile()中伪造一个文件,然后将数据发送到RTMP编码方法,但我无法想办法.
真的,欢迎任何线索.提前致谢.
解决方法 您可以使用setoutputfile()将数据写入 FileDescriptor而不是文件.fileDescriptor fd = mLocalSender.getfileDescriptor();mRecorder.setoutputfile(fd);
所以你可以将数据流式传输到套接字.从此套接字获取数据如下所示:
mLocalServer = new LocalServerSocket(LOCAL_SOCKET_ADDRESS);mLocalReceiver = new LocalSocket();mLocalReceiver.connect(new LocalSocketAddress(LOCAL_SOCKET_ADDRESS));mLocalSender = mLocalServer.accept();if (mLocalReceiver != null){ minputStream = mLocalReceiver.getinputStream();}
我不知道您的RTMP库是如何工作的,但我认为,应该可以将输入流传递给库的某些方法.
有关更多信息,您还可以查看spydroid application.它包含许多有用的东西,用于通过RTP进行视频流,而无需任何特殊的流媒体库.
总结以上是内存溢出为你收集整理的将音频和视频从Android手机传输到RTMP服务器的最佳方式全部内容,希望文章能够帮你解决将音频和视频从Android手机传输到RTMP服务器的最佳方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)