我无法将接收到的 HLS 字节转换为 openAI Whisper 可以处理的某种数据类型
好吧,我通过 streamlink
获得了 HLSimport streamlink
link_list = streamlink.streams("TWITCH.TV LINK HERE")
streamobj = link_list['worst']
fd = streamobj.open()`
我可以用这样简单的方法将其保存到mp3文件
with open('test.mp3', 'wb') as file:
while True:
data = fd.read(1024) #btw idk what is that const 1024 from streamlink quickstart
if not data:
break
file.write(data)
file.close()
fd.close()`
现在我想将这个音频(字节,但我可以保存它,我认为它没有损坏?)放入openai Whisper模型中以像这样转录
try:
with open("new_test.mp3", "wb") as file:
while True:
data = fd.read(1024)
if not data:
break
result = model.transcribe(data)
print(result)
file.write(data)
finally:
fd.close()
file.close()
我尝试过的任何方法都不起作用。
我尝试将数据转换为 numpy.ndarray
尝试使用声音文件转换它
尝试使用 ffmpeg 从数据中分离音频和视频(实际上没有正确尝试)
所以我在这里找不到解决方案,需要帮助
不要直接转录音频,而是尝试在将音频保存到文件后转录音频。
try:
with open("new_test.mp3", "wb") as file:
while True:
data = fd.read(1024)
if not data:
break
file.write(data)
finally:
fd.close()
file.close()
result = model.transcribe("new_test.mp3")
print(result["text"])
model.transcribe(data)
不获取声音数据,它获取声音文件本身,并且使用 result["text"]
而不是仅使用结果。