【发布时间】:2022-07-19 04:39:00
【问题描述】:
问题
我想加载任何类型(mp3、m4a、flac 等)的音频文件并将其写入输出流。
我尝试使用pydub,但它一次加载整个文件,这需要很长时间并且很容易耗尽内存。
我也尝试过使用python-vlc,但它不可靠而且太黑了。
那么,如何逐块打开大型音频文件进行流式传输?
编辑#1
我找到了 一半的解决方案 here,但我需要对另一半做更多的研究。
TL;DR: 使用subprocess 和ffmpeg 将文件转换为wav 数据,并将该数据通过管道传输到np.frombuffer。问题是,在使用frombuffer 之前,子进程仍然必须完成。
...除非可以将管道写入 1 个线程,而 np 从另一个线程读取它,我还没有测试过。目前,这个问题没有解决。
【问题讨论】:
标签: python python-3.x audio pydub