加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在iOS中的视频(.mov)中添加元数据

发布时间:2020-12-14 19:17:47 所属栏目:百科 来源:网络整理
导读:我已经通过手机摄像头用AVCaptureMovieFileOutput对象捕捉视频, 我想将新的元数据添加到文件中, 我尝试使用AVAssetExportSession来做它,它的工作原理! 但是它花了很多时间,我想,这个方法重新编码了文件, 我只想添加新元(位置), 我尝试在AVCaptureMovieFileO
我已经通过手机摄像头用AVCaptureMovieFileOutput对象捕捉视频,

我想将新的元数据添加到文件中,

我尝试使用AVAssetExportSession来做它,它的工作原理!

但是它花了很多时间,我想,这个方法重新编码了文件,

我只想添加新元(位置),

我尝试在AVCaptureMovieFileOutput中使用setMetadata方法

但我不知道怎么做,

我试试

元:

AVMutableMetadataItem *newItem = [AVMutableMetadataItem metadataItem];
newItem.identifier = [AVMutableMetadataItem identifierForKey:AVMetadataQuickTimeMetadataKeyLocationISO6709 keySpace:AVMetadataKeySpaceCommon];
newItem.key = AVMetadataQuickTimeMetadataKeyLocationISO6709;
newItem.value = [self gpsStringForVideo:gps];

第一:

[_movieFileOutput setMetadata:@[meta]];
[_movieFileOutput startRecordingToOutputFileURL:outPutUrL recordingDelegate:self];

但我不能得到代表的回应.

然后:

[_movieFileOutput startRecordingToOutputFileURL:outPutUrL recordingDelegate:self];
[_movieFileOutput setMetadata:@[meta]];

我可以正常开始录制,但输出文件不包含任何信息!

有人有什么建议吗?
谢谢!

解决方法

这对我有用:

let metadata = AVMutableMetadataItem()
metadata.keySpace = AVMetadataKeySpaceQuickTimeMetadata
metadata.key = AVMetadataQuickTimeMetadataKeyLocationISO6709 as NSString
metadata.identifier = AVMetadataIdentifierQuickTimeMetadataLocationISO6709
metadata.value = String(format: "%+09.5f%+010.5f%+.0fCRSWGS_84",location.coordinate.latitude,location.coordinate.longitude,location.altitude) as NSString
movieFileOutput.metadata = [metadata]
movieFileOutput.startRecording(toOutputFileURL: temporaryFileUrl(),recordingDelegate: self)

对于Objective-C,您不需要转换为NSString

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读