我正在寻找一种将“ Twitch”流“流”到文件中的方法,“管道”是抱歉(如果我在这里使用术语的话)。我知道可以在流完成后下载VOD,但这不适用于我的用例。
我看过一个名为streamlink的库,该库可以让我获取给定流的确切URL,但对于从何处去我却迷茫了
答案 0 :(得分:1)
youtube-dl提供了用于从流URL获取播放列表的界面。以下1种衬管效果很好:
ffmpeg -i $( youtube-dl -f best --get-url twitch.tv/host ) -codec copy "out.mp4"
还有一个我没有尝试过的twitch-dl实用程序。
答案 1 :(得分:0)
以下是对我有用的解决方案:
首先,安装Streamlink。然后只需运行此命令
streamlink -o <file name>.mkv <URL of the Twitch stream> best
将流保存到本地文件。
如果要以编程方式实现此目的,可以结合使用ffmpeg与Streamlink pip模块(pip
install streamlink
)。
这是代码的样子(在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()