【问题标题】:iphone 5S slow motion is gone when exporting a videoiphone 5s 导出视频时慢动作消失了
【发布时间】:2013-11-19 16:38:59
【问题描述】:

我想让我的应用程序的用户从他的相机胶卷中挑选一个视频并播放它,
所以我创建了自己的自定义选择器(需要自定义 UI)来选择视频,当用户选择视频时,我使用 AVAssetExportSession 将视频的资产导出到 mp4 文件。

如果您不知道新款 iPhone 5S 可以选择在视频上应用慢动作。 但是,当我导出慢动作视频时,慢动作消失了。

我怀疑视频资产上存在一些额外的数据,这些数据代表慢动作部分,并存储视频部分的信息应该以较低的 FPS 播放。

我之前在使用照片时遇到过类似的问题,例如,如果您使用原生 iOS 滤镜或裁剪编辑照片,然后使用 AVAsset 将照片加载到图像视图中,您将看到原始照片(没有过滤器或裁剪)。 只有在检查ALAssetRepresentation 元数据“AdjustmentXMP”键并相应地应用CIFilter 后,您才能获得编辑后的图像。

有什么想法吗?

【问题讨论】:

    标签: ios iphone objective-c


    【解决方案1】:

    视频不是“以慢动作录制”,而是以每秒 60 帧的速度录制,然后可以选择以每秒 30 帧的速度播放,从而营造出慢动作的效果。访问资产后尝试将播放的帧速率设置为 30。

    【讨论】:

    • 我如何知道资产的哪一部分处于慢动作模式?以及如何仅将这部分设置为以 30 FPS 运行?我敢肯定苹果使用某种曲线从 60 到 30 再回到 60..
    • 整个视频资源为 60fps。使用 Apple 原生 Photos.app 中的控件仅减慢视频的某些部分不会修改实际资产(视频文件)。此信息可能存储在元数据中的某个位置(我不确定是否可以立即使用,而且我目前不在我的 Mac 上进行代码调查),但您需要在回弹期间自行处理更改。您可能希望为用户创建自己的控件来设置慢动作区域。
    • 你的意思是自己创建慢动作效果,当然可以,但我正在寻找一种无需处理缓冲区即可应用慢动作的方法。我还有另一种情况,我只需要将视频文件导出到远程服务器,所以我只想应用慢动作,不播放,只需导出文件。
    • 面临同样的问题。它还在 iPhone 6/6+ 上重现。有更新吗?
    • @Eyal 你能抽出时间来回答一下吗?
    【解决方案2】:

    使用新的 iOS 8 Photos 框架解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2019-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2017-12-31
      • 2013-08-04
      • 1970-01-01
      相关资源
      最近更新 更多