首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将音频和视频从Android手机流式传输到RTMP服务器的最佳方式

将音频和视频从Android手机流式传输到RTMP服务器的最佳方式
EN

Stack Overflow用户
提问于 2012-04-16 03:10:35
回答 2查看 3.4K关注 0票数 4

我正在寻找最好的方式来流媒体视频和音频从安卓手机到服务器使用RTMP。我已经在这个问题上花了一些时间,到目前为止,我只能使用FFMPEG来流式传输视频。有很多方法可以为Android构建lib,我猜通过一些更多的工作,我也应该能够流式传输音频。

问题是,我需要用h264编码视频,用AAC编码音频,使用安卓的MediaRecorder很容易做到这一点。所以我开始寻找适用于安卓系统的RTMP库,发现这个Red5 port似乎运行得很好。使用它,我可以很容易地流式传输存储在手机上的视频文件,音频也可以正常工作。

所以我的问题是:有没有办法将Android的MediaRecorder输出连接到RTMP库?我猜方法是在setOutputFile()中‘伪造’一个文件,然后将数据发送到RTMP编码方法,但我不知道怎么做。

任何线索都是欢迎的,真的。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-09 11:33:03

您可以使用setOutputFile()将数据写入FileDescriptor而不是文件。

代码语言:javascript
运行
复制
FileDescriptor fd = mLocalSender.getFileDescriptor();
mRecorder.setOutputFile(fd);

因此,您可以将数据流式传输到套接字。要从该套接字中获取数据,如下所示:

代码语言:javascript
运行
复制
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上的视频流的有用的东西,而没有任何特殊的流程库。

票数 2
EN

Stack Overflow用户

发布于 2012-05-09 11:42:26

可能正在使用Red5媒体服务器可以帮到你。它附带了一些工作示例,您可以将其用于流媒体目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10165154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档