【问题标题】:How to record twitch stream in python, preferably using livestreamer?如何在python中录制抽搐流,最好使用livestreamer?
【发布时间】:2015-10-16 08:22:27
【问题描述】:

目前我只有:

from livestreamer import Livestreamer
session = Livestreamer()
stream = session.streams('http://www.twitch.tv/riotgames')
stream = stream['source']
fd = stream.open()

由于我还是 python 的新手,我完全不知道下一步该做什么。如何连续保存,比如说,流的最后 40 秒到文件?

【问题讨论】:

    标签: python video-streaming live-streaming twitch


    【解决方案1】:

    这是一个开始:

    from livestreamer import Livestreamer
    session = Livestreamer()
    stream = session.streams('http://www.twitch.tv/riotgames')
    stream = stream['source']
    fd = stream.open()
    with open("/tmp/stream.dat", 'wb') as f:
        while True:
            data = fd.read(1024)
            f.write(data)
    

    我试过了。例如,您可以在 VLC 中打开/tmp/stream.dat。该示例将一次读取 1 kb 并将其写入文件。

    程序将永远运行,因此您必须使用 Ctrl-C 中断它,或者为此添加一些逻辑。您可能需要以某种方式处理错误和流的结束。

    【讨论】:

    • 谢谢!你能解释一下这到底是做什么的data = fd.read(1024)?如果我将其更改为更多或更少千位会发生什么变化? @AndréLaszlo
    • 不会有太大变化。太少,你会写得更频繁,这可能会导致更多的开销,太大可能不会成为问题,除了内存使用。我想。
    • This answers 讨论了选择缓冲区大小时要考虑的一些事项(但用于从磁盘读取)。如果你想优化,我想你可以尝试不同的尺寸,看看哪种效果最好。如果大多数系统块大小都是 4096,那么 1024 可能有点小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2019-02-10
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多