【问题标题】:Available Video Recording formats for iOS适用于 iOS 的可用视频录制格式
【发布时间】:2013-03-09 01:46:56
【问题描述】:

功能是从 iPhone 录制视频并将其上传到服务器,然后它应该与 android 设备同步,并且应该可以在那里播放。从谷歌搜索我知道 iPhone 记录 .mov 文件。

我想知道的是,除了 .mov 之外是否还有其他可用的格式,以便它可以在 android 设备和服务器上播放。

谢谢。

SDK: 5.0;    
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3

【问题讨论】:

    标签: iphone ios5 format video-capture


    【解决方案1】:

    .mov 不是格式;这是一个容器文件。 iPhone 使用流行的 h.264 视频编码器,然后将其(包括音频和数据)包含在 .mov 文件中,这是一种快速文件格式。您无法更改 iPhone 使用的容器文件或编码器。

    您可以使用一些服务将视频文件从一种格式编码为另一种格式。查看 zencoder 和 pandastream。

    【讨论】:

    • 感谢在我回复 2.5 年后投反对票,我相信当时是准确的。
    • 这是一个很好的答案,在发布时是正确的。它包含了当时的所有相关信息。显然,较新的答案更好,因为它与更新的功能相匹配。但是,chuck w 值得一票。
    【解决方案2】:

    确实有办法。您可以使用类 AVAssetExportSession。 AVAssetExportSession 对象有一个名为 outputFileType 的属性,您可以将其设置为 AVFileTypeMPEG4。 通过使用预设名称 AVAssetExportPresetPassthrough,视频实际上不会被重新编码,而只是将容器更改为 mp4(因此速度会非常快)。

    AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset:#videoAsset# composition presetName:AVAssetExportPresetPassthrough];
    exporter.outputFileType = AVFileTypeMPEG4;
    exporter.outputURL = outputURL;
    
    [exporter exportAsynchronouslyWithCompletionHandler:^(void){
        switch (exporter.status) {
            case AVAssetExportSessionStatusFailed:
                // Failed!
                break;
            case AVAssetExportSessionStatusCompleted:
                // Success!
                break;
            case AVAssetExportSessionStatusCancelled:
                // Cancelled!
                break;
        }
    }];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-30
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 2018-06-09
      • 1970-01-01
      相关资源
      最近更新 更多