Мы получили сообщения о проблемах с записью замедленного видео в нашем приложении. Мы протестировали проблему на iPhone X, iPhone 6 и iPhone SE. И 6, и X работают нормально, но SE терпит неудачу при попытке добавить записанное видео в Фото.
Видеофайл, который нужно добавить в Фото:
- h.264 с рекомендуемыми настройками
- Quicktime (.mov)
- 120/200/240 кадров в секунду
- Нет пользовательских метаданных
- Аудио AAC с рекомендуемыми настройками
Наш код, добавляющий видео:
PHPhotoLibrary.shared().performChanges {
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
}
Возвращенная ошибка не предоставляет много полезной информации, что, по-видимому, является повторяющейся проблемой при работе с фотографиями.
Error Domain=NSCocoaErrorDomain Code=-1 "(null)"
Мы применяем соотношение сторон к видео, используя чистые параметры апертуры настройки кодировщика. Судя по всему, изменение соотношения сторон видео влияет на результат (см. список внизу).
Мы пытались:
- Поскольку соотношение сторон повлияло на результат, мы подумали, что проблема может быть связана с объемом данных, которые необходимо сохранить. Уменьшение битрейта/размера файла ничего не изменило
- Возможно, что-то все еще использовало файл? Мы подождали несколько секунд, прежде чем добавить файл, но получили те же ошибки.
- Изучил документы, форум разработчиков, SO, блоги и общий Google безрезультатно.
Еще раз — все отлично работает на iPhone X и 6.
Сочетания разрешения, частоты кадров и их результатов:
1080p
- 120@16:9 - Ошибка
- [email protected] - Ошибка
- 120@1:1 - OK
720p
- 240@16:9 - Ошибка
- [email protected] - Ошибка
- 240@1:1 - OK
- 200@16:9 - Ошибка
- [email protected] - OK
- 200@1:1 - OK
- 120@16:9 - OK
- [email protected] - OK
- 120@1:1 - OK
У вас есть какие-либо идеи, в чем может быть проблема?
.mov
к каждому URL-адресу независимо от контейнера. Code=-1 (null) больше не используется, без каких-либо других изменений, кроме форсирования этого расширения. - person Ryan Romanchuk   schedule 13.05.2019