V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
uoryon
V2EX  ›  问与答

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

  •  
  •   uoryon · 2013-09-03 16:32:58 +08:00 · 12957 次点击
    这是一个创建于 4129 天前的主题,其中的信息可能已经有所发展或是发生改变。
    現在可以獲得swf
    http://player.youku.com/player.php/sid/XNjA0NDI1ODQ0/v.swf
    類似上面這樣, 但是怎麼才能直接得到swf裡面的視頻呢?
    45 条回复    1970-01-01 08:00:00 +08:00
    ratatata
        1
    ratatata  
       2013-09-03 16:36:45 +08:00
    嗅探?
    uoryon
        2
    uoryon  
    OP
       2013-09-03 16:37:42 +08:00
    @ratatata 怎麼做, 求指教。
    subpo
        3
    subpo  
       2013-09-03 16:38:39 +08:00
    每个优酷视频下方不就写着嘛
    uoryon
        4
    uoryon  
    OP
       2013-09-03 16:39:56 +08:00
    @subpo 那個需要客戶端吧。 我要的是真實的url, 然後下下來。。
    linuxer
        5
    linuxer  
       2013-09-03 16:44:00 +08:00
    如果仅仅是使用,可以尝试一下Firefox+DownloadHelper。
    yfdyh000
        6
    yfdyh000  
       2013-09-03 16:46:09 +08:00
    硕鼠
    uoryon
        7
    uoryon  
    OP
       2013-09-03 16:50:00 +08:00
    @linuxer 不是使用, 是開發。
    uoryon
        8
    uoryon  
    OP
       2013-09-03 16:50:29 +08:00
    @yfdyh000 這是應用。。。我是要開發, 網頁流媒體下載的東西。。
    olnyshe
        9
    olnyshe  
       2013-09-03 16:50:31 +08:00
    chrome扩展程序 adkill 试试 不过我记得以前试过某视频网站的.是分段的.下载下来是某一段不是全部

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

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

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

    另外如果是只要手机视频格式,可以分析一下youku手机版页面的js代码,里面有全套生成html5播放地址的方法。
    xiaocsl
        28
    xiaocsl  
       2013-09-03 17:53:24 +08:00   ❤️ 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  
       2013-09-03 17:55:43 +08:00
    @uoryon
    另外如果你不考虑清晰度的话,手机版页面的那种清晰度能满足的话.更简单,分析下JS源码就行了.
    momo5269
        30
    momo5269  
       2013-09-03 17:55:55 +08:00
    FLV Download、vidown、FLVCD 、AcDown动漫下载器
    momo5269
        31
    momo5269  
       2013-09-03 17:57:20 +08:00
    如果只是下载 用IE之类的直接选择最高清晰度版本 然后从缓存文件里拿不就得了
    xiaocsl
        32
    xiaocsl  
       2013-09-03 17:59:36 +08:00
    @uoryon
    额..再次对了..

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

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

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

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

    主要没能解决问题
    1. 视频是被分段的
    2. 视频的分段地址不是一成不变的.
    fengqve
        42
    fengqve  
       2013-09-04 10:10:55 +08:00
    uoryon
        43
    uoryon  
    OP
       2013-09-04 10:12:56 +08:00
    @sdjl 有學長根據這個 “一种基于数据特征的流媒体内容下载” 寫了出來。 不過說的東西好像不是同一個。。他那個是在桌面開這個程序, 然後再上網看視頻, 再抓包,才下載下來。
    hit9
        44
    hit9  
       2013-09-04 10:17:30 +08:00
    方法1: 右键审核元素,network,搜索.flv
    方法2: 搜索硕鼠
    方法3: https://github.com/iambus/youku-lixian
    regmach
        45
    regmach  
       2013-09-04 14:35:07 +08:00
    遨游自带
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3914 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:14 · PVG 13:14 · LAX 21:14 · JFK 00:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.