Phpickerviewcontroller не предлагает public.hevc uti для известного видео HEVCIOS

Программируем под IOS
Ответить
Anonymous
 Phpickerviewcontroller не предлагает public.hevc uti для известного видео HEVC

Сообщение Anonymous »

Я работаю над приложением, где пользователю нужно выбрать видео из их библиотеки фотографий, и мне нужно получить оригинальный, немодифицированный поток данных HEVC (H.265), чтобы сохранить его кодирование.
Проблема, которую я подтвердил, что мои исходные видео - HEVC. Я могу записать новое видео с моей камерой iPhone 15 Pro Max для «Высокой эффективности», экспортировать «немодифицированный оригинал» из фотографий на моем Mac, и убедиться, что кодек-это mpeg-h part2 /hevc (h.265).
Однако, когда я выбираю это точно так же видео в моем приложении с использованием phpickerviewcontroller. Это заставляет меня вернуться к общему типу фильма, который приводит к тому, что система предоставляет мне транскодированную версию видео H.264.

Код: Выделить всё

⚠️ 'public.hevc' not found. Falling back to generic movie type (likely H.264).
< /code>
Что я попробовал свой код явно проверяет для идентификатора public.HEVC в массиве зарегистрированных типовейдеров. Поскольку это не найдено, моя логика HEVC никогда не запускается.import UniformTypeIdentifiers

// ... inside the Coordinator class ...

func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
picker.dismiss(animated: true)
guard let result = results.first else { return }

let itemProvider = result.itemProvider
let hevcIdentifier = "public.hevc"

let identifiers = itemProvider.registeredTypeIdentifiers
print("Available formats from itemProvider: \(identifiers)")

if identifiers.contains(hevcIdentifier) {
print("✅ HEVC format found, requesting raw data...")
itemProvider.loadDataRepresentation(forTypeIdentifier: hevcIdentifier) { (data, error) in
// ... process H.265 data ...
}
} else {
print("⚠️ 'public.hevc' not found. Falling back to generic movie type (likely H.264).")
itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.movie.identifier) { url, error in
// ... process H.264 fallback ...
}
}
}
My Environment Device: iPhone 15 Pro Max IOS Версия: iOS 18,5 XCODE Версия: 16.2
Мои вопросы

Есть ли конкретные условия (например, видео -Icer Под которым
PHPickerViewController< /code> itemprovider намеренно не предложит
public.hevc < /code> идентификатор типа, даже для видео HEVC? Процесс?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... hevc-video
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»