小编jpe*_*hsr的帖子

在 iOS 上使用 HEVC 编码器输出视频尺寸巨大

我有一个项目,目前使用 H.264 编码器在 iOS 上录制视频。我想尝试在 iOS 11 中使用新的 HEVC 编码器来减小文件大小,但发现使用 HEVC 编码器会导致文件大小急剧膨胀。 GitHub 上的一个项目显示了该问题 - 它使用 H.264 和 H.265 (HEVC) 编码器同时将相机中的帧写入文件,并将生成的文件大小打印到控制台。

AVFoundation 类的设置如下:

class VideoWriter {
    var avAssetWriterInput: AVAssetWriterInput
    var avAssetWriter: AVassetWriter
    init() {
        if #available(iOS 11.0, *) {
            avAssetWriterInput = AVAssetWriterInput(mediaType: AVMediaType.video, outputSettings: [AVVideoCodecKey:AVVideoCodecType.hevc, AVVideoHeightKey:720, AVVideoWidthKey:1280])
        }
        avAssetWriterInput.expectsMediaDataInRealTime = true
        do {
            let url = directory.appendingPathComponent(UUID.init().uuidString.appending(".hevc"))
            avAssetWriter = try AVAssetWriter(url: url, fileType: AVFileType.mp4)
            avAssetWriter.add(avAssetWriterInput)
            avAssetWriter.movieFragmentInterval = kCMTimeInvalid
        } catch {
            fatalError("Could not initialize AVAssetWriter \(error)")
        }
    }
...
Run Code Online (Sandbox Code Playgroud)

然后框架是这样写的: …

avfoundation ios avassetwriter hevc swift

5
推荐指数
1
解决办法
4688
查看次数

标签 统计

avassetwriter ×1

avfoundation ×1

hevc ×1

ios ×1

swift ×1