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

如果用 winrar 分卷压缩一个视频,那么是否获得部分分卷就能获得部分的视频内容?

  •  1
     
  •   bingowrt · 2016-07-12 16:12:53 +08:00 · 5573 次点击
    这是一个创建于 3055 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是不是与视频的格式有关呢?

    第 1 条附言  ·  2016-07-12 16:56:32 +08:00
    抱歉,在主题中给定条件不太清楚,这里重新说明一下。主要问题在于在一个分卷之中提取出部分信息的可能性,而不是在于信息不全的视频的播放问题。
    缺少分卷,软件报错是肯定的,在这里我想请教大家的是,如果只有一部分分卷恢复部分视频的可能性,而不是软件提示报错的可能性。
    举一个例子来说吧,假设一个公司的重要视频分割成了若干个分卷(不设解压密码),那么如果有一个分卷被一个精通压缩机理和视频编码等一系列相关技术的黑客获取,他是否可以将这部分压缩卷中所含有的视频信息还原出来?
    谢谢大家的回答。
    @cxlxkin
    33 条回复    2016-07-13 10:50:03 +08:00
    loryyang
        1
    loryyang  
       2016-07-12 16:17:34 +08:00   ❤️ 1
    你不会自己试一下?
    bingowrt
        2
    bingowrt  
    OP
       2016-07-12 16:22:15 +08:00
    @loryyang 我实在是不知道怎么整,如果只有一个分卷怎么提取里面的内容我都不会
    hoythan
        3
    hoythan  
       2016-07-12 16:24:50 +08:00   ❤️ 1
    你试试视频拷贝到一半的是否 暂停拷贝,然后打开这个文件看看能不能播放.
    mrytsr
        4
    mrytsr  
       2016-07-12 16:27:34 +08:00 via Android   ❤️ 1
    ffmpeg
    bingowrt
        5
    bingowrt  
    OP
       2016-07-12 16:31:08 +08:00
    @hoythan 这个是可以的,你下载视频,下载到一半用 vlc 之类的播放器都是可以播放的
    hoythan
        6
    hoythan  
       2016-07-12 16:32:45 +08:00
    @bingowrt 那就可以. 主要看视频是怎么编译的.
    cxlxkin
        7
    cxlxkin  
       2016-07-12 16:33:58 +08:00   ❤️ 1
    我觉得不可以直接解压不了吧
    xujif
        8
    xujif  
       2016-07-12 16:37:01 +08:00   ❤️ 1
    rar 这些压缩应该是类似于哈夫曼编码这种吧,第一个包很重要,保存着 metadata 信息,不然无法解压。


    当然。以上都是胡诌的,我也没看过 rar 实现方式
    bingowrt
        9
    bingowrt  
    OP
       2016-07-12 16:38:02 +08:00
    @cxlxkin 是的,所以我自己就回答不了这个问题了,但是分卷的信息还在这里,是否使用不那么复杂的手段就能从这个分卷里面提取出来其中所含有的视频信息呢?
    bingowrt
        10
    bingowrt  
    OP
       2016-07-12 16:41:09 +08:00
    @hoythan 可是我这里讨论的问题是,一个分卷是否可以独立的提取出部分的信息,如果已经有了部分的视频信息,那当然是可以播放的啊。
    cxlxkin
        11
    cxlxkin  
       2016-07-12 16:44:24 +08:00
    @bingowrt 试试用 winrar 弄的分卷,用 7zip 解压(或者里面的一些功能)其中的分卷试试。
    maskerTUI
        12
    maskerTUI  
       2016-07-12 16:46:47 +08:00 via Android
    理论上是不能的,要么解压的时候缺少其它分卷报错,要么解压出来的视频不完整播放器报错。
    bingowrt
        13
    bingowrt  
    OP
       2016-07-12 16:56:26 +08:00
    抱歉,在主题中给定条件不太清楚,这里重新说明一下。主要问题在于在一个分卷之中提取出部分信息的可能性,而不是在于信息不全的视频的播放问题。
    缺少分卷,软件报错是肯定的,在这里我想请教大家的是,如果只有一部分分卷恢复部分视频的可能性,而不是软件提示报错的可能性。
    举一个例子来说吧,假设一个公司的重要视频分割成了若干个分卷(不设解压密码),那么如果有一个分卷被一个精通压缩机理和视频编码等一系列相关技术的黑客获取,他是否可以将这部分压缩卷中所含有的视频信息还原出来?
    谢谢大家的回答。
    @cxlxkin
    @maskerTUI
    cxlxkin
        14
    cxlxkin  
       2016-07-12 16:59:58 +08:00
    @bingowrt 我觉得应该可以的,毕竟信息在分卷里面,但是这个提取破译真的很少见。
    justfly
        15
    justfly  
       2016-07-12 17:02:58 +08:00   ❤️ 1
    关键在于视频在多个 RAR 中是否是顺序存储的 可以查查他的实现
    winterbells
        16
    winterbells  
       2016-07-12 17:04:02 +08:00
    自己为什么不能试一下呢?
    随便找了个视频,三种压缩 rar 、 rar5 、 zip
    删除最后一个分卷,解压到桌面
    前两种都会在桌面先创建文件但无法播放。 zip 压缩没有看到解压的文件


    winterbells
        17
    winterbells  
       2016-07-12 17:12:58 +08:00
    ##又做了个测试
    1. 源文件大小是 142M ,设置分卷大小为 280M ,添加 100%恢复记录
    压缩,删除 10.2M 大小的二卷
    解压到桌面,无法播放

    2. 设置压缩方式为存储,删除分卷,还行不能
    shakoon
        18
    shakoon  
       2016-07-12 17:27:54 +08:00   ❤️ 1
    获得视频文件中间的一部分,是可以播放的,与视频格式无关(亲测过 rmvb 、 avi 、 mkv )。但是楼主的问题在于,这一部分文件是存在于一个压缩包分卷中,常规手段是无法只解压这一部分视频出来的。比较可行(未经验证)的一个思路,只能是研究 rar 算法(不知道是否公开)对于分卷文件的分割实现方式,以及 rar 文件头的结构,然后用十六进制编辑器重写这个分卷的头,让 winrar 将其识别为一个独立压缩包然后解压。
    fcicq
        19
    fcicq  
       2016-07-12 18:40:12 +08:00   ❤️ 1
    应该是前面连续的分卷存在的话可以解出最前面的部分. rar 不是流压缩 (待确认).
    bingowrt
        20
    bingowrt  
    OP
       2016-07-12 19:14:18 +08:00
    @shakoon
    @fcicq 是的是的,两位准确的描述了我的问题,我实在是才疏学浅,问题都描述不清。。
    bingowrt
        21
    bingowrt  
    OP
       2016-07-12 19:16:21 +08:00
    @winterbells 感谢你的回复,然而我认为,你的实验方法有待商榷,你的实验结果只能说明,程序报错,而不能说明信息是否还在,这也是我没有使用这种实验方法的原因。
    winterbells
        22
    winterbells  
       2016-07-12 19:22:42 +08:00
    @bingowrt 你说的也有道理,不过想知道到底是什么情况的话应该得查压缩原理
    我以为这样就能满足你的好奇心...
    zi
        23
    zi  
       2016-07-12 19:45:13 +08:00   ❤️ 1
    不了解 rar 的算法,不过以前解压分卷的时候注意到 rar 不是按分卷顺序解压的,而是这个卷拿一点那个卷拿一点
    所以我猜测就算能解压单个分卷,解压出来的视频也不会是原视频的某个连续片段
    xbb7766
        24
    xbb7766  
       2016-07-12 19:48:08 +08:00 via Android   ❤️ 1
    就算只有一个分卷,该分卷包含的数据应该是可以正确还原的。

    一般常见影响视频播放的因素是文件头。
    唯一我确定的是, mpeg ps/ts (*.ts ,*
    .mpg 等) 这种流格式,随便从当中掐一段也能播放。 Mp4 mkv 这类格式,文件头里有 metadata 等数据,如果缺了文件头,就比较麻烦。
    xbb7766
        25
    xbb7766  
       2016-07-12 19:51:09 +08:00 via Android
    对了楼上还有说到的顺序解压,我记得 zip 如果是 store 形式打包,解压应该是顺序的。 rar 不知道用 store 是不是也这样。
    chiv2
        26
    chiv2  
       2016-07-12 21:12:06 +08:00
    有时可以的。以前电驴下比较大的动作片时经常只下第一个 rar 包,打开播放看看是不是封面杀手再决定是否继续下载。我用的是 mac 上的 unrarx 和 the unarchiver, 解压不完全 rar 包时会提示是否保留已解压的部分文件。一般解出来就可以用 mplayerx 放了,格式没啥印象了,好像 mkv 比较多。
    ji1043
        27
    ji1043  
       2016-07-12 21:18:51 +08:00
    我认为 可能的, 估计跟 压缩格式 与 视频格式有很大的关系 楼上不成功, 简单的举例就是 迅雷啊,下载视频的时候,在没有下载完成的时候( bt 种子 不是那种 完成度百分之 99 的), 我使用 QQ 影音播放器是可以 播放一部分内容的,当然并不是 所有的 视频临时文件都可以播放。。。
    shimanooo
        28
    shimanooo  
       2016-07-12 21:45:47 +08:00
    命令行 unrar -kb e xxx.rar 可以“ Keep broken extracted files ”
    能不能放看视频格式。
    MinonHeart
        29
    MinonHeart  
       2016-07-12 22:17:58 +08:00 via iPhone
    分卷本身就是信息的集合体,所以是可以提取出部分信息的。但是并不简单,一是对损害的分卷进行正常解压是比较困难的,另外是为了提高压缩率,压缩后的分卷内,存储的内容通常是不连续的,如果部分分卷被解包了,通常解包后的信息还要经过分析才能使用,并不具有正常的使用价值。而分析难度根据获得分卷的比率成正相关。

    楼上说的迅雷下视频这种是属于连续切割的文件,所以就算不完整,只要有元信息也是可以播放一部分的。但是压缩并不是连续切割。

    压缩中有种叫打包,即不压缩文件直接打个包,这种应该是连续切割文件,毕竟连续切割比较快,这种和迅雷下载比较像,但是要过解包那一关才能得倒信息。

    比如压缩 1221 ,如果分成两卷,可能第一卷是 2-1 ,第二卷是 2-2 。而连续切割成两卷可能分别是 122 和 1 。如果内容不具有压缩性,那就等同于打包了,比如压缩 1234 (这里只是举个例子,因为压缩是跟编码有关的,所以并完全不相同的字符也是有可能被压缩的,这是时间换空间的做法, WinRAR 中的压缩率是可选的,大概就是这个意思)

    随便说说,不是完全正确
    Bardon
        30
    Bardon  
       2016-07-12 23:00:02 +08:00
    总结,任何一个分卷都包含部分视频内容,这一点是肯定的。
    好了,回答了楼主的问题了。至于能不能播放,这跟压缩算法有关。
    honeycomb
        31
    honeycomb  
       2016-07-12 23:14:35 +08:00 via Android
    ts 等为流媒体优化的容器没问题,部分解压后可以直接播放,但是有的容器,如 AVI 就需要额外的修复步骤
    lslqtz
        32
    lslqtz  
       2016-07-13 07:57:58 +08:00
    除非加密,否则应该会保留信息。
    dlllcs
        33
    dlllcs  
       2016-07-13 10:50:03 +08:00
    感觉视频目前的压缩算法都不错了,再次压缩得到的压缩比不会很高,还不如尝试转换编码(优化后可提高压缩率),然后分割片段这样来的痛快,而且随意一个片段都可以正常播放
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2732 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.