我正在 swift 4 中进行一些简短的视频编辑,使用NA
阅读视频,然后使用 z <- factor(z, levels = c(NA, "A", "B", "C"))
levels(z) # "A" "B" "C"
导出结果。除了一件事之外,其他所有东西都工作正常:结果视频保留了原始视频的元数据。
该元数据包括(例如)视频的拍摄时间和位置。
我看到AVAsset()
有一个AVExportSession
属性,但是我不知道如何使用它。我将其设置为AVExportSession
,但它不起作用,它仍然保留旧的元数据。
我阅读了apple's documentation的相关内容,并说您不创建实例,也不能修改元数据项,那该怎么办?如何删除该元数据或向其中写入新生成的元数据?
有关读取元数据的信息很多,但有关编写元数据的信息却很少。
谢谢。
附加链接 https://developer.apple.com/documentation/avfoundation/avassetexportsession
答案 0 :(得分:2)
您可以使用AVMetadataItemFilter.forSharing()
过滤元数据。
根据规范:Removes user-identifying metadata items, such as location information and leaves only metadata releated to commerce or playback itself.
(请参阅https://developer.apple.com/documentation/avfoundation/avmetadataitemfilter/1387905-forsharing)
只需将其添加到您的导出会话中:
let exportSession = AVExportSession() // choose your appropriate init
exportSession.metadataItemFilter = AVMetadataItemFilter.forSharing()