将音频发布到 RTMP 服务器以使用 C 或 C++ 进行实时直播

时间:2021-05-19 08:22:04

标签: c++ ffmpeg audio-streaming rtmp

我想将音频流发布到 RTMP 服务器,以便从移动设备(例如 Android)进行实时音频直播。
假设移动设备有一种方法可以实时向我提供这些数据(例如:使用双簧管库)。逐包(一个包包含一定数量的音频帧)。
实时流式传输时,对那些数据进行了一些真正的自定义计算,这些数据要求我必须一点一点地(逐个数据包?)发送到 RTMP 服务器。
我正在尝试为此目的使用 FFMPEG,并且该线程的问题有类似的问题:How to publish self made stream with ffmpeg and c++ to rtmp server?。但是没有详细的答案对我来说是不够的。
我尝试在文档的帮助下阅读 FFMPEG 代码源,但由于我是流媒体领域的新手,我仍然必须面对一些挑战。我需要知道的是:

  • 如何为此目的正确配置 FFMPEG? (AVFormatContext?)
  • 编写流 (AVStream) 的正确方法是什么? (我在某处读到数据包需要具有特定大小以及其他内容)

为简单起见:

  • 我可以逐包处理音频包并进行编码。
  • 音频被编码为 mp3。
  • 音频的默认采样率为 44100 Hz、320kb/s 比特率和一些其他已知细节,因此 FFMPEG 无需猜测。

更多信息:
我正在使用本机反应。对于android:本机模块与Java 通信,JNI 与C++ 通信Java,Oboe 录制和播放音频。对于 iOS:暂时没有问题。
我使用 node-media-server 作为 RTMP 服务器。
谢谢!

0 个答案:

没有答案