gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:04 25 4
gpt4 key购买 nike

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

问题是我需要用 h264 编码视频和 AAC 编码音频,使用 Android 的 MediaRecorder 很容易做到这一点。 .所以我开始寻找适用于 Android 的 RTMP 库并找到了这个 Red5 port这似乎工作得很好。使用它,我可以非常轻松地流式传输存储在手机上的视频文件,而且音频也能正常工作。

所以我的问题如下:有没有办法将 Android 的 MediaRecorder 输出连接到 RTMP 库?我想方法是在 setOutputFile() 中“伪造”一个文件,然后将数据发送到 RTMP 编码方法,但我想不出一种方法来做到这一点。

欢迎提供任何线索,真的。提前致谢。

最佳答案

您可以将数据写入 FileDescriptor而不是带有 setOutputFile() 的文件。

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 - 将音频和视频从 Android 手机流式传输到 RTMP 服务器的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10165154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com