Загрузка живого потока Twitch - PullRequest
0 голосов
/ 23 февраля 2019

Я ищу способ "передать" (извините, если я здесь разделываю терминологию) поток Twitch в файл во время его потоковой передачи.Я знаю, что можно загружать VOD после завершения потока, но это не применимо в моем случае использования.

Я взглянул на библиотеку под названием streamlink , которая позволила бы мнеполучить точный URL-адрес данного потока, но я вроде как заблудился, куда идти дальше

1 Ответ

0 голосов
/ 16 марта 2019

Вот решение, которое сработало для меня:

Во-первых, установите 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()
...