Вот решение, которое сработало для меня:
Во-первых, установите Streamlink .Затем просто запустите эту команду
streamlink -o <file name>.mkv <URL of the Twitch stream> best
, чтобы сохранить поток в локальном файле.
Если вы хотите достичь этого программным путем, вы можете использовать модуль pip Streamlink (pip
install streamlink
) в сочетании с ffmpeg .
Вот как может выглядеть код (в Python 3):
import streamlink
from subprocess import Popen
from time import sleep
# get the URL of .m3u8 file that represents the stream
stream_url = streamlink.streams('https://www.twitch.tv/forsen')['best'].url
print(stream_url)
# now we start a new subprocess that runs ffmpeg and downloads the stream
ffmpeg_process = Popen(["ffmpeg", "-i", stream_url, "-c", "copy", 'stream.mkv'])
# we wait 60 seconds
sleep(60)
# terminate the process, we now have ~1 minute video of the stream
ffmpeg_process.kill()