V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
JG
V2EX  ›  iDev

Instagram 和 Vine 是用的什么方法把本地相册的大视频裁剪成正方形并且控制在 1s 以内?

  •  
  •   JG · 2015-02-02 22:08:01 +08:00 · 4235 次点击
    这是一个创建于 3396 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Instagram和Vine都有从本地相册选视频裁剪为正方形再发布的功能,我选了个45s的视频,在Instagram裁剪成方形,一秒左右就裁剪好了,Vine上面也只要2-3秒,但是我用GPUImage或AVAssetExportSession实现这个功能裁剪45s的视频起码得要20-30s的时间,这里面用的什么黑科技?

    同样再看看国产的美拍,45s的视频首先要压缩视频(估计就是正在裁剪),也要20s左右的时间....
    第 1 条附言  ·  2015-02-02 23:20:43 +08:00
    经过几天研究之后刚刚洗澡的时候突然想通,然后用手机走了一遍流程,我想里面的“黑科技”可能是这样的:
    1.Instagram的处理方式:当你选择了45s的视频,在”选择并裁剪“的界面点“继续“的时候实际上Instagram并未裁剪,只是把之前上面的半透明的遮罩变成了全黑的遮罩,给你一种裁剪了之后的错觉,然后你选择长度裁剪然后再发布,因为Instagram视频允许的长度最长是15秒,所以它会在你点发布的时候进行裁剪,裁剪15s的视频只要4-5s的时间,发布的时候它有个“准备发布”的状态估计就是在裁剪了,在发布的时候裁剪有个好处就是用户不会抱怨你的App怎么这么屎,而会怪自己网速不好,这估计是个小trick了...
    2.Vine的处理方式:Vine的裁剪视频区域和裁剪视频长度是在一起的,所以你选择好区域和长度然后点击“添加”的时候它才开始正式裁剪,Vine视频允许最长长度是7s,所以裁剪7s长度的视频只需要2s左右...

    美拍的实现感觉就不太友好了,用户选好视频之后点“选取”,然后会“压缩视频”,不知道这个压缩视频到底干了什么会花这么多时间,也可能是在为后面添加特效做准备,这个就不太清楚了,压缩好了之后再进行裁剪,裁剪完了再添加特效....时间太长了...

    当然以上只是猜想,不过按上面的猜想实现“裁剪”也是效率很高的....但是也说不定Instagram真实现了什么黑科技呢,手边没有越狱的机子,太极越狱工具老提示“无法获取资源”,不知道谁有越狱的机子能用Reveal看下Instagram那个界面的具体实现是不是用遮罩把视频遮成正方形的......
    5 条回复    2015-02-04 09:25:29 +08:00
    DylanWu
        1
    DylanWu  
       2015-02-03 08:16:55 +08:00 via iPhone
    用的亚马逊的云视频转换功能吧?我猜的
    mortal
        2
    mortal  
       2015-02-03 20:57:09 +08:00
    @DylanWu 可以看看流量走了多少,估算下是裁剪前上传的还是裁剪后上传的~233
    Elethom
        3
    Elethom  
       2015-02-03 23:29:38 +08:00   ❤️ 1
    沒有黑科技,只是如你所想的交互層面的優化而已。
    zhangyh26258
        4
    zhangyh26258  
       2015-02-04 02:45:08 +08:00 via Android
    Ffmpeg?
    yellowV2ex
        5
    yellowV2ex  
       2015-02-04 09:25:29 +08:00   ❤️ 1
    肯定是背后处理啊,我之前做了一个拍照app,其实就是截图遮罩,真的处理图片是在背后的线程里做的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5136 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:53 · PVG 10:53 · LAX 19:53 · JFK 22:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.