抖音直播解析

百度上面有很多抖音去水印的解析,但是就是没有直播的解析。

由于直播只能在手机上看,不能在电脑上播放,所以想办法解析一下。

import requests
import re


def get_real_url(rid):
    try:
        if 'v.douyin.com' in rid:
            room_id = re.findall(r'(\d{19})', requests.get(url=rid).url)[0]
        else:
            room_id = rid
        room_url = 'https://webcast-hl.amemv.com/webcast/room/reflow/info/?room_id={}&live_id=1'.format(room_id)
        response = requests.get(url=room_url).json()
        hls_pull_url = response.get('data').get('room').get('stream_url').get('hls_pull_url')
        rtmp_pull_url = response.get('data').get('room').get('stream_url').get('rtmp_pull_url')
        real_url = [rtmp_pull_url, hls_pull_url]
    except:
        real_url = '直播间不存在或未开播或参数错误'
    return real_url


rid = input('请输入抖音直播间room_id或分享链接:\n')
real_url = get_real_url(rid)
print('该直播间源地址为:')
print(real_url)

运行结果如下:

image.png

接着就可以使用VLC media player之类的软件进行播放了。

研究了一下,抖音的直播服务是使用的是金山方案,可能有些是h265直播流,网页播放不太友好。

如果播放效果不佳,可以把直播地址后面的_or4可以去掉,再尝试一下。


我的抖音原本可以开游戏直播,但是可能是因为粉丝不够,就提示服务正在升级,请稍后再试,只能在手机开视频直播。后来我抓了一下抖音的API,其实可以把直播的RTMP地址抓出来,再用OBS直播,不说了,再说号就没了。