首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用python录制youtube直播流到文件

用python录制youtube直播流到文件
EN

Stack Overflow用户
提问于 2019-04-11 19:39:58
回答 1查看 2.3K关注 0票数 1

我想录制youtube直播流,并使用python将其保存到文件。

我尝试使用pytube库,但它可能适用于视频,而不适用于直播流。

我想录制流,并将其保存为视频格式为avi或类似这样的文件。

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 19:09:32

根据@wownis的答案进行修改。

(我试过这个答案,但是它不起作用。)

代码语言:javascript
运行
复制
# pip install urllib
# pip install m3u8
# pip install streamlink
import urllib
import m3u8
import streamlink


def get_stream(url):
    """
    Get upload chunk url
    """
    streams = streamlink.streams(url)
    stream_url = streams["best"]

    m3u8_obj = m3u8.load(stream_url.args['url'])
    return m3u8_obj.segments[0]


def dl_stream(url, filename, chunks):
    """
    Download each chunks
    """
    pre_time_stamp = 0
    for i in range(chunks+1):
        stream_segment = get_stream(url)
        cur_time_stamp = \
            stream_segment.program_date_time.strftime("%Y%m%d-%H%M%S")

        if pre_time_stamp == cur_time_stamp:
            pass
        else:
            print(cur_time_stamp)
            file = open(filename + '_' + str(cur_time_stamp) + '.ts', 'ab+')
            with urllib.request.urlopen(stream_segment.uri) as response:
                html = response.read()
                file.write(html)
            pre_time_stamp = cur_time_stamp


url = "https://www.youtube.com/watch?v=2U3JnFbD-es"
dl_stream(url, "live", 15)

输出如下:

代码语言:javascript
运行
复制
./
live_20200713-103739.ts   
live_20200713-103744.ts   
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55631634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档