有没有什么办法能自动提取直播类网站的视频源? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MajestySolor
V2EX    问与答

有没有什么办法能自动提取直播类网站的视频源?

  •  
  •   MajestySolor 2016-06-22 12:07:45 +08:00 14750 次点击
    这是一个创建于 3487 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我平时很喜欢看 dota2 比赛直播,
    但是斗鱼和火猫的观看体验实在太差了,
    我本身就讨厌弹幕,
    页面交互又土的掉渣,
    各种刷礼物的可怕特效还无法屏蔽,
    整个一城乡结合部龙城狂霸拽的感觉,
    我只想像 twitch 那样安静无干扰的看直播,
    当然 flash 导致的巨大发热量也是一个重要因素,
    后来我发现 chrome f12 的 network 里是可以直接看到视频源地址的,
    一般是一个 flv 后面跟一大串参数,
    这个地址是可以直接用视频播放器播放的,
    比如我用的 potplayer ,
    那么问题来了,
    有没有办法自动化获取这个地址呢,
    每次打开 f12 在列表一大堆资源里找好累~~
    我觉得这是个挺有市场的需求啊,
    怎么就没人做个 chrome 插件呢~~
    23 条回复    2018-08-26 15:02:01 +08:00
    root787
        1
    root787  
       2016-06-22 12:16:44 +08:00
    这个涉及到版权的问题。
    miaosu
        2
    miaosu  
       2016-06-22 12:25:54 +08:00
    做出来公开不了吧,人家花那么多钱砸进去就是为了用户绑定它的平台,你可好,弄个综合的,人家不群 D 你才怪。
    laoyuan
        3
    laoyuan  
       2016-06-22 12:40:21 +08:00
    群 D 。。好恐怖的一个词
    h4x3rotab
        4
    h4x3rotab  
       2016-06-22 12:57:19 +08:00 via iPhone
    可以做浏览器扩展提取,自己用
    ynyounuo
        5
    ynyounuo  
       2016-06-22 13:12:03 +08:00
    mpv 接 twitch 体验非常好啊

    自己实现什么的可以参考这里: https://sonnati.wordpress.com/2011/07/11/ffmpeg-the-swiss-army-knife-of-internet-streaming-part-i/
    fcicq
        6
    fcicq  
       2016-06-22 13:12:59 +08:00
    还是天朝的直播好提取啊, 如果 rtmp 流要追加 invoke command 认证真能挡住一大片.
    won
        7
    won  
       2016-06-22 13:13:30 +08:00 via Android
    都有 CDN ,抓到真实源不就等于随时能攻击了吗,不可能的
    isbase
        8
    isbase  
    PRO
       2016-06-22 13:40:19 +08:00 via Android
    MPV 可以直接播放斗鱼的
    miyuki
        9
    miyuki  
       2016-06-22 14:22:36 +08:00
    livestreamer?
    KKKKKK
        10
    KKKKKK  
       2016-06-22 15:54:14 +08:00 via Android
    @laoyuan 群起而 DDoS 之
    Mikewu
        11
    Mikewu  
       2016-06-22 16:00:42 +08:00
    import os
    import urllib2
    import json
    import md5
    import time



    class APIHelper:
    def __init__(self):
    self.baseUrl = "http://www.douyutv.com/api/v1/"
    self.midReq = "?aid=android&cdn=ws&client_sys=android&time="

    def GetStringMD5(self, str):
    m = md5.new()
    m.update(str)
    return m.hexdigest()

    def request(self, action, param=None):
    t = str(int(time.time()))
    md5_url = action + self.midReq + t + "1231"
    auth = self.GetStringMD5(md5_url)

    reqUrl = self.baseUrl + action + self.midReq + t + "&auth=" + self.GetStringMD5(md5_url)
    if param != None:
    for k, v in enumerate(param):
    reqUrl = reqUrl + "&" + v + "=" + param[v]
    print "requrl:" + reqUrl

    try:
    respOnse= urllib2.urlopen(reqUrl, timeout=10).read()
    jsOnObject= json.loads(response)
    data = jsonObject["data"]
    return data
    except Exception, e:
    print "Error:" + str(e)
    return None

    load = APIHelper()
    data = load.request("room/58428")
    rtmp_url = data["rtmp_url"]
    rtmp_live = data["rtmp_live"]
    videoUrl = rtmp_url + "/" + rtmp_live
    print videoUrl
    m939594960
        12
    m939594960  
       2016-06-22 16:05:13 +08:00
    斗鱼的弹幕可以屏蔽 礼物也可以屏蔽。。。
    还有直播不就是为了热闹?
    你这种不看礼物 也不看弹幕的 为啥不去看优酷??
    Mikewu
        13
    Mikewu  
       2016-06-22 16:05:17 +08:00   1
    上面回复代码没有格式,发个截图算了。之前每天看 YYF 的直播,用这个来获取 rmtp 地址后使用 Potplayer 播放
    pyengwoei
        14
    pyengwoei  
       2016-06-22 16:22:08 +08:00
    pyengwoei
        15
    pyengwoei  
       2016-06-22 16:23:43 +08:00
    @Mikewu rtmp://eurolive.fc.llnwd.net/eurolive/s_618x194_b365_gv?e=1462697050&h=b1e8a4dfe63fae69cf423a5963e72414

    请问这种 rtmp 格式的 要怎样才可以播放啦?
    fcicq
        16
    fcicq  
       2016-06-22 16:26:19 +08:00
    @pyengwoei akamai 的 rtmp 没啥认证, ffmpeg 或者 vlc 都应该能直接播放.
    pyengwoei
        17
    pyengwoei  
       2016-06-22 16:35:56 +08:00
    @fcicq 我直接用这个 RTMP 在 FLASH 里面测试播放 是不成功的,?号后面的是否是加密的,需要验证一次啦
    fcicq
        18
    fcicq  
       2016-06-22 16:37:04 +08:00
    @pyengwoei 那可能是你的 player 没把 ? 后的部分传上去.
    fcicq
        19
    fcicq  
       2016-06-22 16:39:10 +08:00
    @pyengwoei rtmpdump 试了一下你这个链接应该过期了. 直接返回了 NetStream.Failed. 重新找个新的再来吧.
        20
    pyengwoei  
       2016-06-22 16:41:32 +08:00
    @fcicq 稍等,我重新找一个,因为有一个项目要 用到。。
    pyengwoei
    yueye
        21
    yueye  
       2016-06-22 16:46:09 +08:00
    没有登陆不是过一段时间高清就播放不了了?
    MajestySolor
        22
    MajestySolor  
    OP
       2016-06-23 07:27:15 +08:00
    @m939594960 弹幕可以关闭我知道,但是显示在 flash 上的礼物特效关闭不了,我只是想第一时间看比赛,等优酷上能看都过了 2-3 天了~
    @Mikewu 这个具体怎么使用呢?
    jc654123
        23
    jc654123  
       2018-08-26 15:02:01 +08:00
    现在还行吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4693 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 03:59 PVG 11:59 LAX 19:59 JFK 22:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86