import twitchio
import pyaudio
# Twitch-клиент
client = twitchio.Client('ваш_ник_на_twitch', 'ваш_токен')
# Канал для записи звука
channel = 'нужный_канал'
# Обработчик события "запись звука"
async def on_sound(channel, user, sound):
with open('sound.wav', 'wb') as f:
f.write(sound)
# Подключение к каналу и запуск записи звука
async def run():
await client.join(channel)
await client.subscribe('sound', on_sound)
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=44100,
input=True, frames_per_buffer=1024)
stream.start_stream()
await client.handle_events()
stream.stop_stream()
stream.close()
p.terminate()
# Запуск клиента и запись звука в файл sound.wav в течение 15 секунд
await client.start()
await asyncio.sleep(15)
await client.stop()
import subprocess
import streamlink
# URL трансляции Twitch
url = "https://www.twitch.tv/channel_name"
# Получаем список доступных потоков со стрима
streams = streamlink.streams(url)
# Выбираем наиболее подходящий по качеству поток
best = streams["audio_only"]
# Получаем ссылку на поток
stream_url = best.url
# Определяем имя файла, в который будем записывать звук
filename = "twitch_audio.mp3"
# Команда для записи потока в файл
cmd = ["ffmpeg", "-i", stream_url, "-vn", "-c:a", "libmp3lame", "-q:a", "0", filename]
# Запускаем процесс записи звука
subprocess.call(cmd)