Как добавить метаданные в видео (.mov) в iOS
Я уже снимаю видео через камеру телефона с AVCaptureMovieFileOutput
Объект,
Я хочу добавить новые метаданные в файл,
Я пытаюсь использовать AVAssetExportSession
чтобы сделать это, это работает!
Но это, наверное, стоит много времени, этот метод перекодирует файл,
Я просто хочу добавить новую мету (Местоположение),
Я пытаюсь использовать setMetadata
метод в AVCaptureMovieFileOutput
Но я понятия не имею, как это сделать,
я попробую
мета:
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]];
Я могу начать запись в обычном режиме, но выходной файл не содержит никакой информации!
У кого-нибудь есть предложения? Спасибо!
1 ответ
Это работает для меня:
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