V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
uoryon
V2EX  ›  问与答

怎麼得到像youku那些swf裡面視頻的真實url?

  •  
  •   uoryon · Sep 3, 2013 · 13748 views
    This topic created in 4632 days ago, the information mentioned may be changed or developed.
    現在可以獲得swf
    http://player.youku.com/player.php/sid/XNjA0NDI1ODQ0/v.swf
    類似上面這樣, 但是怎麼才能直接得到swf裡面的視頻呢?
    45 replies    1970-01-01 08:00:00 +08:00
    ratatata
        1
    ratatata  
       Sep 3, 2013
    嗅探?
    uoryon
        2
    uoryon  
    OP
       Sep 3, 2013
    @ratatata 怎麼做, 求指教。
    subpo
        3
    subpo  
       Sep 3, 2013
    每个优酷视频下方不就写着嘛
    uoryon
        4
    uoryon  
    OP
       Sep 3, 2013
    @subpo 那個需要客戶端吧。 我要的是真實的url, 然後下下來。。
    linuxer
        5
    linuxer  
       Sep 3, 2013
    如果仅仅是使用,可以尝试一下Firefox+DownloadHelper。
    yfdyh000
        6
    yfdyh000  
       Sep 3, 2013
    硕鼠
    uoryon
        7
    uoryon  
    OP
       Sep 3, 2013
    @linuxer 不是使用, 是開發。
    uoryon
        8
    uoryon  
    OP
       Sep 3, 2013
    @yfdyh000 這是應用。。。我是要開發, 網頁流媒體下載的東西。。
    olnyshe
        9
    olnyshe  
       Sep 3, 2013
    chrome扩展程序 adkill 试试 不过我记得以前试过某视频网站的.是分段的.下载下来是某一段不是全部

    yushiro
        10
    yushiro  
       Sep 3, 2013
    @uoryon 你要把视频下载下来, 那这个swf是没有任何用处的, 因为swf就是一个播放器而已。
    uoryon
        11
    uoryon  
    OP
       Sep 3, 2013
    @olnyshe 那是因為youku的視頻有分段, 所以會一段一段的, 他這個插件用了localstorage來檢測url, 我想做的不是瀏覽器插件,而是web應用程序, 所以不能依賴這些屬性。 能直接swf中拿到url就好了。。
    uoryon
        12
    uoryon  
    OP
       Sep 3, 2013
    @yushiro 這個swf不是帶有視頻的真實url麼?
    wjchen
        13
    wjchen  
       Sep 3, 2013
    将sid填到这里,不清晰的版本。 m.youku.com/pvs?id=XNjA0NDI1ODQ0&format=3gphd
    uoryon
        14
    uoryon  
    OP
       Sep 3, 2013
    @wjchen 打開怎麼什麼都沒發生。。
    wjchen
        15
    wjchen  
       Sep 3, 2013
    @uoryon 我这里能用弹出了一个mp4的下载对话框。
    olnyshe
        16
    olnyshe  
       Sep 3, 2013   ❤️ 1
    @uoryon 那个swf就是个播放器.不是带视频URL.而是加了参数来播放指定的视频..就好像网上一些播放音乐的flash播放器一样...
    你是要找视频真正的源地址的吗?这种肯定内部有一些系统来处理这个的.外部抓不到的..就算抓到了我想除了他们自己的播放器调用.外部调用肯定也是不允许的吧
    Zhang
        17
    Zhang  
       Sep 3, 2013   ❤️ 1
    有些资源并不存在url!通过cgi程序(比如video.php?vid=视频编号)就可以把文件内容透过http协议流窜到客户端。
    uoryon
        18
    uoryon  
    OP
       Sep 3, 2013
    @olnyshe
    @Zhang

    那有沒有什麼辦法可以得到視頻的真實url呢?
    johnnyb
        19
    johnnyb  
       Sep 3, 2013   ❤️ 1
    cacoo
        20
    cacoo  
       Sep 3, 2013
    你要下载的话
    尝试下维棠吧
    subpo
        21
    subpo  
       Sep 3, 2013   ❤️ 1
    @uoryon 分享里面有
    emric
        23
    emric  
       Sep 3, 2013   ❤️ 1
    有时候嘛, 搜索一下就能找到答案 : 3
    https://github.com/iambus/youku-lixian
    uoryon
        24
    uoryon  
    OP
       Sep 3, 2013
    @emric 這個有搜到過。。python看不懂。。。。。而且我需要的也是通用的。。
    uoryon
        25
    uoryon  
    OP
       Sep 3, 2013
    @johnnyb
    @emric
    看來需要學習python了。
    uoryon
        26
    uoryon  
    OP
       Sep 3, 2013
    @subpo 額, 剛剛沒看到。
    pubby
        27
    pubby  
       Sep 3, 2013
    youku应该有一套自己的逻辑和接口来获得这些url的。

    通过反编译swf应该可以分析出这些逻辑和接口地址。

    另外如果是只要手机视频格式,可以分析一下youku手机版页面的js代码,里面有全套生成html5播放地址的方法。
    xiaocsl
        28
    xiaocsl  
       Sep 3, 2013   ❤️ 2
    @uoryon

    我写了个视频订阅的小工具,因为比较懒,后续的要在平板上实现的功能懒得写了.跟你说一下吧.
    我获取主要通过,拦包,来查地址的.
    http://www.youku.com/player/getPlaylist/VideoIDS/XNjAyNjQxMzU2
    通过上面的链接可获得视频ID和TS值
    http://www.youku.com/player/getM3U8/vid/150660339/type/hd2/ts/MXNpXDcVgzc5BLAlAWpZRgA
    然后根据通过之前得到的VID和TS值,再选择要哪种清晰度,替换链接2中相应的值就可以了.
    得到整个视频的地址
    http://182.118.6.48/6572F76462F3D81D07F1EB6B4F/0300010F00521FA30A68FE07A719472D696166-1980-F017-BD6B-2B587785E6E3.flv.ts?ts_start=0&ts_end=5&ts_seg_no=0&ts_keyframe=1
    例如上面这个链接.
    通过修改链接3中的开始时间和结束时间,等参数,可以获得自己想要的视频.
    这是优酷的.


    其中TS值是有时效性的.如果你等会看到的时候无法正常访问,自己再通过链接1来重新获取一次TS值即可.



    通过链接2获取的地址
    xiaocsl
        29
    xiaocsl  
       Sep 3, 2013
    @uoryon
    另外如果你不考虑清晰度的话,手机版页面的那种清晰度能满足的话.更简单,分析下JS源码就行了.
    momo5269
        30
    momo5269  
       Sep 3, 2013
    FLV Download、vidown、FLVCD 、AcDown动漫下载器
    momo5269
        31
    momo5269  
       Sep 3, 2013
    如果只是下载 用IE之类的直接选择最高清晰度版本 然后从缓存文件里拿不就得了
    xiaocsl
        32
    xiaocsl  
       Sep 3, 2013
    @uoryon
    额..再次对了..

    如果你只是单纯的要下载视频,用硕鼠就行了.
    http://www.flvcd.com/
    ayang23
        33
    ayang23  
       Sep 3, 2013
    youku有个客户端可以下载视频,你可以分析一下它怎么运作的,抓包分析一下。
    crapthings
        34
    crapthings  
       Sep 3, 2013
    windows 上有一个叫 http://www.donationcoder.com/Software/Mouser/urlsnooper/

    可以探测 这个我个人感觉很好 在单位有需要时候就用这个
    kfll
        35
    kfll  
       Sep 4, 2013 via iPhone
    打开Chrome的审查工具,切到网络(Network)标签,刷新页面,找尺寸几十M的请求
    yangqi
        36
    yangqi  
       Sep 4, 2013
    随便google一下就有算法,挺简单的,或者直接搜别人写好的functions
    SharkIng
        37
    SharkIng  
       Sep 4, 2013
    我觉得楼主是想做一个能下载优酷,土豆之类网站视频的工具/软件或者Chrome插件,所以才这么问

    28楼的办法可行,似乎是比较常用的了
    hengxin196
        38
    hengxin196  
       Sep 4, 2013
    看一下 youtubedl 的实现 https://github.com/rg3/youtube-dl
    sdjl
        39
    sdjl  
       Sep 4, 2013
    硕鼠能拿到真实地址, 这应该是通过大量的视频地址分析抓取得到的, 要想解决一两个视频是容易, 但是要想解决很多网站的问题恐怕就需要投入大量的人力成本了.

    至于楼主说的这个功能, 硕鼠提供收费服务, 每个月2500到5000的样子, 如果楼主能做到, 你可以只收别人1000, 恭喜你发了
    uoryon
        40
    uoryon  
    OP
       Sep 4, 2013
    謝謝樓上各位了,看來自己也沒有嘗試用心查。手動的用Network我是可以下載, 但是還沒有總結出更一般的下載的方法, 現在去仔細看實現。
    hexor
        41
    hexor  
       Sep 4, 2013   ❤️ 1
    曾经试过 想在手机上实现下载 但是没有成功

    主要没能解决问题
    1. 视频是被分段的
    2. 视频的分段地址不是一成不变的.
    fengqve
        42
    fengqve  
       Sep 4, 2013
    uoryon
        43
    uoryon  
    OP
       Sep 4, 2013
    @sdjl 有學長根據這個 “一种基于数据特征的流媒体内容下载” 寫了出來。 不過說的東西好像不是同一個。。他那個是在桌面開這個程序, 然後再上網看視頻, 再抓包,才下載下來。
    hit9
        44
    hit9  
       Sep 4, 2013
    方法1: 右键审核元素,network,搜索.flv
    方法2: 搜索硕鼠
    方法3: https://github.com/iambus/youku-lixian
    regmach
        45
    regmach  
       Sep 4, 2013
    遨游自带
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2855 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 10:52 · PVG 18:52 · LAX 03:52 · JFK 06:52
    ♥ Do have faith in what you're doing.