Hello! 欢迎来到小浪资源网!

Python3.10如何用ffmpeg-python库将实时音频推流到RTMP?


Python3.10如何用ffmpeg-python库将实时音频推流到RTMP?

将不断生成的音频推送到 rtmp

如何在已安装 ffmpeg-python 库的 python 3.10 程序中,将外部程序不断生成的动态音频,通过 ffmpeg 推送到指定的 rtmp 地址?

解决方案:使用管道 (pipe)

如果外部程序支持 pipe 输出,我们就可以通过读取该 pipe,将音频数据持续地流式传输给 ffmpeg。

立即学习Python免费学习笔记(深入)”;

ffmpeg -i pipe:0 -f mpegts rtmp://xxxxx

参考代码

import subprocess  # 开始外部程序,将输出重定向到管道 process = subprocess.Popen(['external_program'], stdout=subprocess.PIPE)  # 创建 ffmpeg 命令 command = ['ffmpeg', '-i', 'pipe:0', '-f', 'mpegts', 'rtmp://xxxxx']  # 连接 ffmpeg 输入到外部程序的输出管道 pipe = process.stdout subprocess.call(command, stdin=pipe)

通过这种方式,外部程序不断生成的音频数据将被动态写入 ffmpeg 流中,并推送到指定的 rtmp 地址。

相关阅读