Прочтите ключевые моменты обновлений, связанных с аудио и видео WWDC 2022, в одной статье: примеры аудио и видеотехники.
Прочтите ключевые моменты обновлений, связанных с аудио и видео WWDC 2022, в одной статье: примеры аудио и видеотехники.

этот Дорожная карта публичного аккаунтаиз Перемещение общих звуковвидеотехнология:Основы звукового видео (надстановиться)Аудио и видео инструменты (завершено)Примеры аудио и видео проектов (в разработке) → звуквидео Производственная практика(Подготовить)。Стоимость внимания невелика, но и потери от недостающей полезной информации не малы ↓↓↓


WWDC 2022 выпустила в общей сложности более 170 сессий, включая множество сессий, связанных с аудио и видео. Здесь ключевые моменты отсортированы по релевантности контента, включая следующие:

  • 1. Связанные с ЗОЖ
    • HLS Межстраничные объявления (HLS Interstitials)
    • HLS Управление контентом (HLS Content Steering)
  • 2. Связанные с EDR
    • существовать iOS Исследуйте на EDR
    • на основе CoreImage、Metal、SwiftUI выставка EDR содержание
    • на основе AVFoundation、Metal выставка HDR видео
  • 3. Связанное с воспроизведением мультимедиа
    • Создайте впечатляющие впечатления от воспроизведения
    • Сейчас Играем СвязанныйизинформвыставкаиPlay Interactive
  • 4. Связано с камерой
    • Обратите внимание на iOS-камеру и дополнительные функции.
    • использовать Core Media IO создавать macOS расширение камеры
  • 5. Запись экрана, связанная с
    • ScreenCaptureKit первый опыт
    • исследовать ScreenCaptureKit из Расширенные способности
  • 6. Связанные с металлом
    • исследовать Metal 3
    • Быстрая загрузка ресурсов
    • Офлайн-компиляция шейдеров
    • MetalFX Upscaling
    • Mesh Shaders
    • Оптимизация трассировки лучей
    • Аппаратное ускорение машинного обучения
  • 7. Связанные с дополненной реальностью
    • использовать Сканирование плана помещения Комната
    • исследовать ARKit 6
    • AR Опыт дизайнерских предложений
    • Воляваш из мира перенесен в AR
  • 8. Качество видео
    • AVQT из Новые возможности

Это непросто организовать. Если это было для вас полезно, пожалуйста, помогите подписаться, переслать и поставить лайк.

1. Связанные с ЗОЖ

1.1. Межстраничные объявления ЗОЖ

Видеть:What’s new in HLS Interstitials[1]

HLS interstitials Это Apple 2021 Предложенное в 2016 году технологическое решение для межстраничной рекламы относится к HLS Целью технических спецификаций является более удобная поддержка размещения рекламного контента в сценариях прямой трансляции и по запросу. Согласно этой спецификации, будь то на стороне сервера или клиента, больше не требуются зависимости. SSAI специальные теги в формате . Сервер можно подключить EXT-X-DATERANGE чтобы сообщить клиенту, что нужно запланировать межстраничное воспроизведение, как показано ниже:

EXT-X-DATERANGE

В этом выпуске межстраничных объявлений HLS добавлена ​​поддержка новых функций, в том числе:

1) Поддержка конфигурации атрибутов CUE.

Этот атрибут используется для поддержки предварительной рекламы (PRE) и пострекламной рекламы (POST). Вы также можете указать, использовать ли одноразовую рекламу (ONCE);

2) Поддержка атрибута X-SNAP.

Используйте это свойство для выравнивания временного смещения рекламных пауз в сценах прямой трансляции.

Отклонение межстраничной рекламы

Выровняйте межстраничные объявления по краям

3) Добавлены параметры запроса HLS_start_offset и HLS_primary_id.

HLS_start_offset используется для получения продолжительности рекламы; HLS_primary_id используется для идентификации воспроизводимого клипа и рекламы, чтобы избежать повторного воспроизведения одной и той же рекламы.

4) AVFoundation предоставляет такие API, как AVPlayerInterstitialController и AVPlayerInterstitialEvent, для поддержки воспроизведения рекламы на стороне клиента.

1.2. Управление контентом HLS

Видеть:Deliver reliable streams with HLS Content Steering[2]

HLS Content Steering — это техническое решение, предложенное Apple для повышения доступности глобальных потоковых сервисов. Оно может динамически направлять клиентов на разные серверы в зависимости от нагрузки и избыточности серверов.

В этом выпуске HLS Content Steering добавлены новые функции:

1) Управление контентом HLS поддерживает функцию клонирования путей.

Эта функция совместима с Content Stering 1.2. Эта функция позволяет добавлять новые пути CDN в существующий список CDN. При добавлении нового пути CDN в файл конфигурации вам не нужно заполнять полный URI. Для поддержки гибких правил замены URI достаточно заполнить поля сервера и параметров.

2. Связанные с EDR

EDR (расширенный динамический диапазон) — это набор технологий конвейера рендеринга, представленный Apple для поддержки правильного отображения контента SDR и HDR на разных экранах одновременно. При отображении HDR-контента EDR не делает область HDR ярче напрямую. Вместо этого он распознает HDR-контент и увеличивает общую яркость экрана, одновременно уменьшая значение точки белого в области без HDR, делая ее менее яркой.

2.1. Изучите EDR на iOS.

Видеть:Explore EDR on iOS[3]

Содержание данной сессии включает в себя следующие пункты:

1) Представляем новые возможности EDR API

  • EDR API начинатьподдерживать iOS и iPadOS。
  • 12.9 дюйм iPad Pro Добавлены две новые функции: Справка. модельподдерживать EDR рендеринг;Sidecar поддерживать EDR рендеринг(Sidecar Это технология Apple, поддержка Воля iPad делатьдля Mac из Расширенный экран).

Среди них эталонный режим поддерживает EDR следующим образом:

  • исправление SDR Пиковая яркостьдля 100 nits;
  • исправление HDR Пиковая яркостьдля 1000 гниды (это оставляет 10 раз (1000 nits / 100 nits)из EDR headroom);
  • поддерживатьзакрытие HDR Tone Mapping;
  • Отключить адаптацию к окружающему освещению (например, функции ожидания iPhone из True Tone, Auto Brightness, Night Shift);
  • Поддержка точки белого и яркости выполнена вручную.

2) Рассмотрены технические решения ЭДР.

При рендеринге значения пикселей с плавающей запятой варьируются от [0.0, 1.0] из SDR содержание Это всегда будет нормальнорендерингиз。(1.0, EDR headroom] диапазон HDR Содержание также может быть рендерингизировано. Однако оно превышает EDR headroom Часть из будет отброшена.

EDR Rendering

Запас EDR динамичен.,На его стоимость влияет множество факторов.,Например: устройство с дисплеем, ток с яркостью дисплея ждут.

Обычно мы можем грубо оценить запас EDR, используя следующую формулу:

Язык кода:javascript
копировать
Headroom ≈ Display Peak / SDR

3) Содержание EDRизчитано

Процесс выглядит следующим образом:

Процесс рендеринга файла изображения HDR

4) Используйте ЭДР

При использовании EDR следует учитывать несколько моментов:

  • хотетьиспользовать CAMetalLayer
  • настраивать wantsExtendedDynamicRangeContent для YES;
  • содержаниеподдерживать EDR:
    • поддерживают формат буфера пикселей;
    • поддержка функции преобразования;
    • Использование расширяет цветовое пространство.

5) Запросить запас EDR

EDR headroom из Информация может содержать NSScreen (macOS) или UIScreen (iOS) для получения. По запросу EDR headroom из информации, может быть использован для настройки из Tone Mapping алгоритм.

6) Отображение тонов

Если вы не хотите создавать собственное тональное отображение, встроенный алгоритм тонального отображения Apple требует следующих возможностей:

  • CoreAnimation Библиотека по подаркам подписался EDR metadata Связанныйизинтерфейс;
  • поддерживать多种 metadata 参数настраивать,включать HDR10 и HLG Формат;
  • Уведомление,Встроенный алгоритм Tone Mapping не является глобальным.,используйте для проверки раньше.

Перед использованием проверьте, поддерживает ли его текущее устройство. EDR метаданные, а затем перейти к инициализации, правильно следует Форматиз EDR метаданные и, наконец, применить их к CAMetalLayer Когда вы приходите к рендерингу, система включает в себя использование Tone Mapping Алгоритм.

2.2. Отображение содержимого EDR на основе CoreImage, Metal и SwiftUI.

Видеть:Display EDR content with Core Image, Metal, and SwiftUI[4]

в этом Session , рассмотрел EDR Связанныйиз понятия и термина, затем выставить на основе Core Image добавить EDR поддерживатьиз Демо, наконец-то упомянуто, как использовать CIFilter создать поддержку EDR изображения отправляются на сервис Связанныйсодержаниеиз продукции.

1) EDR Связанныйиз понятия и терминологии

EDR Связанныйиз понятия и терминологии,существование изосодержания уже было введено ранее,Я не буду здесь вдаваться в подробности.

2) Используйте CoreImage и Metal в приложениях SwiftUI и добавьте в них поддержку EDR.

Связанный Посмотреть исходный код:Generating an Animation with a Core Image Render Destination[5]

Общий процесс показан на рисунке ниже, а именно MetalView позвони это delegate рисовать, делать для агентства из Renderer существовать draw() Вызывается в методе ContentView Чтобы предоставить изображения для рисования:

MetalView、Renderer、ContentView

Далее, это в Этот Добавлено в процессе EDR поддержка, в том числе 3 шаги:

  • 1. Инициализация MetalView Когда для этого добавляется EDR конфигурация;
  • 2. Перед каждым действием рендеринга рассчитывайте запас EDR;
  • 3、на основе EDR headroom структура CIImage。

3) Используйтевстроенныйиз CIFilter поддерживать EDR

CoreImage Есть более чем 150 Встроенный CIFilter поддерживать EDR。существоватьиспользоватьодин CIFilter когда ты хочешь знать, является ли это признанием ЭДР, надо проверить.

4) На основе CIColorCube filters Напишите заказ из CIFilter поддерживать EDR

в CIColorCubeWithColorSpace это Более популярныйизиспользуется для SDR Картинка из фильтров. Раньше было строгое ограничение на ввод и вывод: RGB Цветовые значения все существуют. 0-1 В пределах из. Когда мы хотим признания EDR , вы можете настроить CIColorCubeWithColorSpace Фильтровать цветовое пространство для EDR Формат цветового пространства, например: HLG или PQ, ты можешь прорваться сейчас RGB Цветовое значение существует только 0-1 диапазонограниченный,оти добиваться наилучших результатовиз EDR изосодержание. Однако важно отметить, что верно должно быть cube data Требуемое существованиеверно должно находиться в пределах допустимого диапазона цветового пространства. В то же время, возможно, потребуется добавить cube data из измерения.

Иногда вам может понадобиться использовать SDR cube data используется для EDR изображение,существоватьдо настоящего временииз API в, вы можете установить extrapolate Атрибуты true приди и расскажи filter Иди направо SDR cube data Сделайте выводы, тогда сможете дать filter Введите EDR изображение и получить из вывода EDR изображение.

5) Написать кастом CIKernel из Best Practices

В прошлом для RGB ценность должна оставаться существующей 0-1 Ограничение внутри диапазона можно снять. Если оно выходит за пределы диапазона, CIKernel. Также работает нормально. Однако альфа Ценность по-прежнему должна оставаться существующей. 0-1 В пределах из.

2.3. Отображение HDR-видео на основе AVFoundation и Metal.

Видеть:Display HDR video in EDR with AVFoundation and Metal[6]

этот Session Как на основе AVFoundation и Metal построить эффективные EDR рендерингтрубопровод。в,включать:

  • Представляем, как поддержать EDR видеоизPlay. Не просто изна на основе черного ящикаиз AVPlayer Для этого мы подробно познакомим вас с тем, как основе AVFoundation декодировать HDR видео,исуществовать Настроитьиз EDR layer/view начальстворендеринг。
  • Представляем, как поддержать EDR постобработка видеоиз. на основе CoreVideo Display Link Получите доступ к декодированным кадрам в режиме реального времени и отправьте их на CoreImage filter или Metal shader Для выполнения обработки изображения или спецэффектов и, наконец, кадр Воля извидео передается в Metal Приходитьрендеринг。

HDR видеоизPlay

Постобработка HDR-видео

весь Сессия изосодержаниеот раскрывает следующие аспекты:

1) Видеофреймворк Apple EDR

Платформа видео Apple EDR показана ниже:

Платформа видео Apple EDR

Для разных сценариев применения мы можем выбрать разные платформы для реализации:

  • Легко играть HDR видео,Можетиспользовать AVKit и AVFoundation;
  • существоватьобозначениеиз layer Играй дальше HDR видео,Можетиспользовать AVPlayerLayer;
  • верно HDR видеокадры подвергаются постобработке, вы можете использовать AVPlayer、CADisplayLink Воля CVPixelBuffer отправить в CoreImage выполнять обработку изображений;
  • верно HDR видеокадры выполняют постобработку и рендеринг, вы можете использовать AVPlayer、CVMetalTextureCache Воля MetalTexture отправить в Metal Выполняем обработку изображений и рендеринг.

2) Используйте AVKit и AVFoundation

если需хотеть Легко играть HDR Видеомедиа рендерятся в ЭДР, можно использовать AVPlayerViewController рендеринг AVPlayer, также можно использовать AVPlayer и AVPlayerLayer существовать iOS или macOS Играй дальше себя из поля зрения.

Использование AVPlayer

если需хотеть实сейчас Живые видеоэффекты,примерно Процесс выглядит следующим образом:

Живые видеоэффекты

финальныйрендеринг В целомиспользовать CAMetalLayer,хотетьподдерживатьправильныйизрендеринг HDR видео, вам также необходимо CAMetalLayer Установите некоторые свойства: WantExtendedDynamicRangeContent, PixelFormat, Colorspace.

3) Используйте CoreVideo и Metal

CVMetalTextureCache это своего рода CVPixelBuffer и Metal В сочетании с использованием простого и эффективного инструмента CVMetalTextureCache. Очень удобно, можно получить прямо из кэша. Metal Текстура без дальнейшей конвертации. CVMetalTextureCache автоматическое мостовое соединение CVPixelBuffer и MetalTexture, что упрощает код, сохраняя при этом эффективность. сохраняя MTLTexture приезжать IOSurface из маппинга, CVMetalTextureCache и CVPixelBufferPools При совместном использовании они также обеспечивают повышение производительности. Наконец, используйте CVMetalTextureCache Ручное отслеживание исключено IOSurfaces из необходимости. Ниже приведен пример использования Волявыставки. CVMetalTextureCache от Core Video Извлечение непосредственно из Metal Текстура, общий процесс показан на рисунке ниже:

CVMetalTextureCache от CoreVideo извлекать Metal текстура

3. Связанное с воспроизведением мультимедиа

3.1. Создайте мощный опыт воспроизведения видео.

Видеть:Create a great video playback experience[7]

этот Session Представлен Недавно разработанные лучшие практики для проигрывателей и выставок, которые помогут нам максимально эффективно использовать возможности воспроизведения мультимедиа. Также обсуждается видеоверно Live Text Функции из-под внимания, эта функция позволяет нам напрямую идентифицировать и копировать текст в кадрах видео, кроме того, как существует наше приложение, интегрирует межстраничные объявления и Управление скоростью воспроизведенияспособность。

1) Новый интерфейс плеера

Новый интерфейс выглядит так, как показано на рисунке:

Плеер с новым интерфейсом, горизонтальным экраном

Плеер с новым интерфейсом · вертикальным экраном

также,Новый плеер также предлагает более удобные операции с жестами.,например:палец Увеличить画面Приходить适配屏幕、全屏左右滑动Приходить seek и Предварительный просмотр взаимодействия с ожиданием.

2) Воспроизведение и интерактивный опыт

Новый дизайн плеера в целом соответствует трем принципам «Интуитивный, интегрированный и контентный».

существование Многие детали разработаны так, чтобы больше соответствовать реальным привычкам людей.,Можно понять более естественно. например,Игрок входит и выходит с анимацией перетаскивания, а эффект инерции при перетаскивании вызывает ожидание.

3) Визуальный интеллект

Новый игрок может получать видео из текста в кадре так же, как и другой текст:

Получить текст на экране видео

4) Межстраничная реклама

новыйиз iOS Плеер начинает показывать рекламу, в HLS Протокол потоковой передачи верно межстраничное изподдержание на передней панели HLS Об этом уже говорилось в «Связанномизсодержании», поэтому больше ничего говорить не буду. для не HLS Протокол изосодержания, AVFoundation нопоставлять了новыйиз API поддерживать рекламу продукции.

5) Скорость воспроизведения

AVPlayerView и AVPlayerViewController начинатьподдерживать Управление скоростью воспроизведенияиз меню, а также поддержку индивидуальной скорости и локализации копирайтинга.

Управление скоростью воспроизведения

3.2. Отображение информации, связанной с NowPlaying, и взаимодействие с воспроизведением.

Видеть:Explore media metadata publishing and playback interactions[8]

этот Session Главная страница Как существуют приложения на каждой платформе NowPlaying информация. Включает введение в метаданные СМИ из обзора, а Также представлены способы блокировки экрана и зоны ожидания Центра управления. NowPlaying интерфейс выставки, а также как писать и публиковать действительные медиа-метаданные. Кроме того, как приложение «Дома» отвечает на запросы от других устройств, таких как HomePod) из команды.

при использовании AVFoundation Во время воспроизведения мультимедиа опубликуйте NowPlaying Метаданные. Лучший способ отреагировать на взаимодействие с воспроизведением — использовать MPNowPlayingSession добрый. MPNowPlayingSession Может использоваться для представления различных игровых сессий, а существующие приложения содержат несколько игровых сессий, что обеспечивает NowPlaying Статус из-под контроля, поддерживается выпуск метаданных вручную и существует iOS 16 Метаданные автоматически публикуются после подтверждения.

Что здесь сказаноиз Автоматическая публикацияизметаданныевключать:медиа-ресурсыизпродолжительность、Прошедшее игровое время、Статус игры、Ход воспроизведения,а Также можно добавить и другие приезжать Player Item из информации (заголовок、описывать、Крышку дождаться).

После настройки автоматической публикации метаданных (установите MPNowPlayingSession из automaticPublishNowPlayingInfo Атрибуты true),MPNowPlayingSession Экземпляр Воля начинает наблюдать за игроком за изменениями статуса и обновлениями, правда из UI。

4. Связано с камерой

4.1. Изучите расширенные функции камеры iOS.

Видеть:Discover advancements in iOS camera capture: Depth, focus, and multitasking[9]

Эта сессия включает в себя следующие аспекты:

1) Лидар-сканер

iPhone 12 Pro、iPhone 13 Pro、iPad Pro ждите более высокой производительности, уже настроенной на устройстве LiDAR сканированиеинструмент,Он может обнаруживать окружающие объекты как вдалеке, так и вблизи в любое время.,от и среды вывода информации о глубине. Лидар и другие камеры можно использовать с другими камерами для захвата изображений с глубиной резкости и реализации более мощных функций в сценах дополненной реальности.

2) Лицо управляется автоматическим точным фокусом и автоматической экспозицией.

Система автоматической фокусировки регулирует объектив, чтобы объект оставался в фокусе.,Система автоматической экспозиции балансирует самые яркие и темные области сцены, чтобы объект оставался видимым. но,Иногда автоматические настройки не позволяют сохранить лицо в фокусе при съемке изображения.,существовать в ярких сценах и сценах с контровым светом,Сфотографировав морду слона, может быть трудно четко разглядеть ее.

Если драйвер лица не включен, он автоматически сфокусируется,Камера будет держать фон в фокусе,Без повторного акцента на лице. Включить автофокусировку Face Drive,Камера автоматически фокусируется на лицах людей.,Это сделает лицо более четким. Когда лицо покидает экран,Камера воля будет смещать фокус, приезжая на задний план.

Ниже приведена фотография без включенного драйвера лица и включенной автоматической фокусировки и автоматической экспозиции:

Включите автоматическую фокусировку по лицу и фотографии спереди и сзади.

Включите автоэкспозицию по лицу и делайте фотографии спереди и сзади.

3) Расширенный поток захвата видео

iOS 16 и iPadOS 16 Новая функция в том, что приложение может использовать Несколько одновременно AVCaptureVideoDataOutput。длякаждыйвидеовывод данных,Может Настроить分辨率、Анти-тряска、Направление и Формат пикселей.

Когда нам нужно просмотреть коллекцию и записать ее,Мы действительно можем просмотреть запись в два потока, используя разные настройки. для предварительного просмотра,Разрешение обычно не должно быть слишком высоким.,Просто адаптируйтесь к устройству и экрану,Это приводит к более быстрой обработке предварительного просмотра с малой задержкой. существовать Во время записи,но Можетнастраивать高分辨率捕获и应用质量效果。проходить Добавить второй AVCaptureVideoDataOutput Возможности сбора контента могут быть расширены, а вывод видеоданных может быть оптимизирован: один выход может использоваться из буфера. для предварительного просмотра, доступен еще один, использовать в полном размере 4K Буфер для записи.

кроме того,Верно, что предварительный просмотр и запись используют разные режимы защиты от сотрясений, это также одна из причин, по которой они используют независимый вывод видеоданных. Потому что антитряска вызовет большую задержку при получении длявидео,существовать Предварительный просмотр не рекомендуетсяиз;идля录制но Может应用Анти-тряска算法Приходить获得更好изсодержаниеопыт。

Предварительный просмотр и запись используют независимый вывод данных из видео.

Помимо вывода данных, от iOS 16 и iPadOS 16 Для начала приложение может существоватьот AVCaptureVideoDataOutput и AVCaptureAudioDataOutput Получать данные одновременноиспользовать AVCaptureMovieFileOutput записать.

Запись во время получения данных

4) существуют многозадачные сцены, используют камеру

существовать iPad Пользователи могут выполнять несколько задач различными способами. Например: существует просмотр с разделенным экраном или использование записи голосовых заметок при чтении заметок на слайдах; Safari Пишите заметки в полноэкранном режиме в плавающем окне выше. Используйте функцию «картинка в картинке». Добавьте, чтобы смотреть больше во время воспроизведения видео; WWDC видеоиз напоминание. С помощью iPadOS 16 Добавлен Stage Manager, пользователи могут открывать несколько приложений в плавающем окне изменяемого размера. от iOS 16 Пуск, AVCaptureSessions Воля умеет работать в режиме многозадачности, когда постоянно использует камеру.

но,существуют Многозадачные сцены Использование камеры может вызвать проблемы с производительностью,这时候Может考虑降低Частота кадров、Использовать Уменьшить разрешение、использовать Нет HDR Форматировать способ снизить потребление ресурсов приложения и повысить производительность.

4.2. Используйте Core Media IO для создания расширения камеры для macOS.

Видеть:Create camera extensions with Core Media IO[10]

этот Session В основном знакомит с тем, как использовать Core Media IO создавать для программных камер, аппаратных камер и творческих камер macOS изExtension. Этот метод расширения лучше старой версии. DAL Подключаемое решение безопаснее, быстрее и совместимо с любым приложением ввода с камеры.

Ниже показано расширение macOS, используемое для Creative Camera Scenes. Пример: расширение получает доступ к потокам с нескольких камер, и Воля синтезирует их перед отправкой в ​​приложение прибытия.

Создавайте расширения для творческих камер

Для таких творческих камер может потребоваться программа настройки для управления композицией и параметрами фильтрации.

Creative Camera из Конфигуратора

5. Запись экрана, связанная с

5.1 Первый опыт работы с ScreenCaptureKit.

Видеть:Meet ScreenCaptureKit[11]

этот Session Представлено, как использовать ScreenCaptureKit для macOS В приложениях для совместного использования экрана, приложениях для видеоконференций, приложениях потоковой передачи игр ожидание обеспечивает высокую производительность аудио и видео с возможностью записи экрана. ScreenCaptureKit Поддержка записи содержимого для динамической фильтрации в реальном времени, вы можете выбрать запись экрана и содержание в любой комбинации из монитора, приложения и окна. ScreenCaptureKit Также поддерживаются настройки, соответствующие исходному разрешению и частоте кадров.,Вы также можете настроить параметры качества Связанный в соответствии с потоком изосодержания.,Также поддержка скрывает курсор мыши.

Процесс вызова API, связанный с записью экрана

5.2. Изучите расширенные возможности ScreenCaptureKit.

Видеть:Take ScreenCaptureKit to the next level[12]

этот Session Более подробно из Представлено, как использовать ScreenCaptureKit выполнять сложныеиззапись экрана,Включает: Как включить различные дополнительные параметры.,включать微调содержаниефильтр、Объяснение метаданных кадра、Окно выбора ожидания. Как настроить потоковую передачу для оптимальной производительности.

ScreenCaptureKit Благодаря богатому набору функций, включая настраиваемые элементы управления изоляцией, вы можете легко выбрать любую комбинацию окон, приложений и дисплеев, способных захватывать содержимое экрана; ниеиз исходного разрешения и частоты кадров; динамические настройки свойств потока, таких как разрешение, частота кадров, формат пикселей; эти конфигурации можно изменять на лету без повторной потоковой передачи; Кроме того, ScreenCaptureKit поддерживать:Снято GPU Поддержка буфера памяти для уменьшения количества копий в памяти; поддержка аппаратного ускорения захвата содержимого, масштабирования, преобразования пикселей и цветов для уменьшения CPU использовать скорость для высокопроизводительного захвата видео и аудио.

На рисунке ниже показаны эффекты фильтрации ScreenCaptureKit из окна:

Запись экрана и фильтрация окон

На рисунке ниже показано, как настроить длину буфера изтекстура ScreenCaptureKit во избежание задержек и пропусков кадров:

Настройка буфера изтекстуры записи экрана

6. Связанные с металлом

6.1. Исследуйте Металл 3.

Видеть:Discover Metal 3[13]

этот Session ПредставленUpgradedиз Metal 3 Приносит улучшения производительности и вводит новые функции. Например: более быстрая загрузка ресурсов, признание Офлайн-компиляция шейдеров (компиляция во время сборки вместо компиляции во время выполнения), повышающая дискретизация рендеринга изображений с высоким разрешением, использовать Mesh Shader Обработка сложных геометрических фигур, Оптимизация трассировки лучей、Аппаратное ускорение машинного обученияждатьждать。

Ниже мы представим эти аспекты:

1)Fast Resource Loading

В настоящее время многим игровым приложениям необходимо загружать ресурсные материалы для рисования. Многие небольшие файлы ресурсов загружаются и передаются в потоковом режиме. Metal Ресурсы — это решение для достижения качественных визуальных эффектов, но традиционное хранилище API Предназначен для большого размера по запросу ресурсов и разработан.

Metal 3 из Fast Resource Loading Механизм может поддерживать Несколько ресурсов небольшого размера из запроса, использовать графику и режим вычислительных инструкций такой же, как из инструкций загрузки для запроса ресурсов небольшого размера, каждая инструкция входит в очередь инструкций для асинхронной отправки, никаких дополнительных шагов не требуется для непосредственной загрузки ресурсов прибытия. Metal Буфер итекстуры позволяет сэкономить усилия на разработку и время передачи. Быстрый Resource Loading использовать Metal Примитив синхронизации делает GPU Команды и команды загрузки можно легко совмещать.

Показано ниже Metal текстура Как стримить от Fast Resource Loading Воспользуйтесь преимуществами:

Sparse texture streaming

Sparse texture streaming with fast resource loading

Болеесодержание Может了解:Load resources faster with Metal 3[14]

2)Offline Shader Compilation

На рисунке ниже показано Shader Оффлайн-компиляция уменьшает задержку кадров:

Автономная компиляция шейдеров уменьшает задержку кадров

На рисунке ниже показано Shader Оффлайн-компиляция сокращает время загрузки:

Автономная компиляция шейдеров сокращает время загрузки

Болеесодержание Может了解:Target and optimize GPU binaries with Metal 3[15]

3)MetalFX Upscaling

MetalFX дадля Metal Приложение обеспечивает оптимизацию платформы с эффектами рендеринга графики в рамках, учитывающей высокую производительность и высокое качество. МеталFX Upscaling Механизм обеспечивает высокую производительность благодаря возможностям повышения дискретизации и сглаживания, которые помогают нам получать высококачественную графику за более короткое время, а также поддерживают выбор комбинации временных или пространственных алгоритмов для повышения производительности.

Хотя Retina Разрешение наших приложений и игр обеспечивает более четкое изображение, но создание всех этих пикселей также сопряжено с большими затратами производительности. использовать MetalFX Upscaling но Может生становиться较低分辨率изизображение,Затем позвольте платформе динамически генерировать высококачественные изображения с высоким разрешением.,Это также может обеспечить более высокую частоту кадров при меньших затратах.

Болеесодержание Может了解:Boost performance with MetalFX Upscaling[16]

4)Mesh Shaders

Традиционный программируемый графический конвейер может преобразовывать вершины в существующие шейдеры,Потом Воля свою сборку приезжать в примитив,Таким образом, эта фиксированная функция аппаратно растеризуется. верно Большинство сценариев применения,Этого плана достаточно. Но существуют некоторые случаи использования,Например, устранение,Требуется доступ ко всем примитивам,Каждую вершину необходимо читать, преобразовывать и выводить независимо.,Поэтому невозможно добавлять элементы вершин в середине рисунка.

Расширенная обработка геометрии требует большей гибкости,Обычно это означает, что необходимая предварительная обработка графики во время вычислений.,Для этого необходимо хранить большое количество промежуточной геометрии в памяти устройства.,Трудно оценить затраты памяти. Металл Mesh Shader Был введен другой конвейер обработки геометрии: традиционный вершинный этап был заменен гибкой двухэтапной моделью, а обработка геометрии осуществлялась послойно. На первом этапе полностью анализируется изображение, чтобы решить, существует ли оно. Второй этап расширяет, сжимает и уточняет геометрию. Он реализует процесс рендеринга, предоставляя вычислительную мощность для достижения этой цели без необходимости использования промежуточной памяти устройства. сетка Shader Отлично подходит для исполнения GPU Отбор драйверов, LOD Выберите и Процедурно созданную геометрию из приложения.

Короче говоря, новое в процессе рендеринга. Object и Mesh Shader Заменить оригинал из Vertex Шейдер, от и поддерживается более гибкая изоляция отсечения LOD выбирать.

Ниже приводится сравнение различий между традиционным процессом создания геометрии, генерируемым программой, и процессом создания геометрии, генерируемым программой:

Традиционный процесс создания геометрии в программе

на основе Mesh Shader из процесса процедурной генерации геометрии

Болеесодержание Может了解:Transform your geometry with Metal mesh shaders[17]

5) Оптимизация трассировки лучей

Metal 3 Конвейер трассировки лучей обеспечивает значительное ускорение. Во-первых, структура ускорения из-за времени сборки короче и их больше. GPU время рисовать и обводить лучи, во-вторых, за счет нового; Indirect Command Buffer верная трассировка лучей, такие вещи, как отбраковка CPU Операции можно перенести куда угодно GPU и, наконец, Metal; 3 Технология трассировки лучей обеспечивает прямой доступ к необработанным данным для упрощения и оптимизации пересечений и затенения.

Оптимизация трассировки лучей

Болеесодержание Может了解:Maximize your Metal ray tracing performance[18]

6) Аппаратное ускорение машинного обучения

Metal 3 существуют Значительные улучшения в ускорении машинного обучения, дополнительное существованиесуществовать Mac по ускоренному сетевому обучению и верным приложениям для обработки графики и мультимедиа. ML Процесс вывода был значительно оптимизирован.

TensorFlow существовать Mac Studio/M1 Ultra прошел дальше GPU ускорятьсяисуществовать CPU По сравнению с обучением из существования, в различных сетях до приезда до 16 Ускорьтесь в два раза.

PyTorch существовать Mac Studio/M1 Ultra прошел дальше GPU ускорятьсяисуществовать CPU По сравнению с тренировками на из, вы можете Воля BERT Улучшена скорость обучения модели. 6.5 раз, будет ResNet50 Скорость обучения увеличена 8.5 раз.

Metal 3 поддерживатьиз设备

Болеесодержание Может了解:Accelerate machine learning with Metal[19]

7) Инструменты разработки Metal 3

Metal 3 Это больше, чем просто функции: он включает в себя комплекс передовых инструментов. разработки。например:Xcode 14 серединаиз Metal Dependency Viewer Упрощает визуализацию отдельных каналов Xcode; 14 Среднее улучшение из Acceleration Structure Viewer чтобы помочь вам получить максимальную отдачу от Metal 3 из Оптимизированная трассировка лучей, ждите.

Metal Dependency Viewer

Набор инструментов Металл 3

7. Связанные с дополненной реальностью

7.1. Используйте RoomPlan для сканирования комнаты.

Видеть:Create parametric 3D room scans with RoomPlan[20]

этот Session представил RoomPlan рамка,использовать它Можетсуществоватьподдерживать LiDAR Лидар iPhone/iPad Иди в свою комнату. Он генерирует пространство для параметризации 3D Определения моделей и комнат верны значкам, вы можете существоватьиспользовать эти модели в приложении.

RoomPlan использовать Зависит от ARKit обеспечиваетподдержание сложного алгоритма машинного обучения для обнаружения стен, окон, проемов, дверей, каминов, диванов, столов и шкафов. Определение значков определения комнаты. в RoomCaptureView API использовать RealityKit Представление хода сканирования в режиме реального времени можно легко интегрировать в функцию «Волясканирование» в приложении «Приехать». Когда над становится сканированием, RoomCaptureView Будут отображены окончательные результаты постобработки.

Сканирование плана помещения

проходить Сканирование плана Данные о помещении можно экспортировать для USD/USDZ Формат изданных и может существовать Cinema 4D Открывайте и редактируйте напрямую.

7.2. Изучите ARKit 6.

Видеть:Discover ARKit 6[21]

этот Session представил ARKit новыйизспособность:существовать ARKit включено в 4K режим видео поддерживает камеру с самым высоким доступным разрешением изображения; добавлены некоторые дополнительные улучшения камеры для лучшего управления фоном видео; добавлена ​​привязка плоскости к строке; Motion Capture API расширил поддержку привязки местоположения из нового города;

1) видео 4К

существоватьдля ARKit При съемке изображения use имеет 3840x2880 Пиксель из области, существовавшей после захвата изображения, составил Binning из процесса: верноеажд 2x2 Пиксель из области,среднее значение пикселя,Затем запишите обратно отдельные пиксели.

это лечение имеет 2 Преимущества: 1) Уменьшен размер изображения. 4 раз, сокращать приезжать 1920x1440 пикселей. В результате каждый кадр потребляет гораздо меньше памяти и вычислительной мощности, что позволяет устройству работать со скоростью до 100% в секунду. 60 Запускаем камеру со скоростью кадра и освобождаем ресурсы. для рендеринга. 2) Этот процесс имеет преимущества в условиях низкой освещенности. Среднее значение пикселя может снизить влияние шума датчика.

еслииспользовать RealityKit изображение автоматически обрабатывается для использования в качестве фона: масштабируется по размеру. 2532 Пиксели по ширине экрана обрезаны в соответствии с соотношением сторон дисплея. RealityKit Верхняя часть кадра существования выполняет задачу синтеза виртуального содержания рендеринга, а конечный результат отображается на экране существования. существовать 4K режим, одобрений в секунду 60 Кадр из коллекции скоростных видео, RealityKit все будет хорошо Увеличить、Обрезанный рендеринг.

2) Улучшение камеры

новыйиз Расширенная функциональностьвключать:高分辨率背景фото API, начни заново из HDR модель、существуют ARKit Читать в тег EXIF ​​(тег EXIF ​​содержит информацию о балансе белого)、Экспозицию и прочую верную постобработку ценной из информации) жду дождаться.

3) Плоский якорь

Точки привязки плоскости и лежащие в основе геометрические плоскости были обновлены в ARKit 6, чтобы четко разделить опорные точки плоскости и лежащие в основе геометрические плоскости.

существовать iOS 15 При запуске сеанса плоскость будет постепенно обновляться в соответствии с вновь введенным видом, и каждый раз, когда обновляется геометрическая плоскость, опорная точка плоскости также будет вращаться и обновляться, чтобы отразить новое направление плоскости. существовать iOS 16 середина,существует плоский якорь, и он стал более четким из-за разделения между геометрическими плоскостями.,Когда новая картина постепенно появляется в поле зрения,Когда самолет постепенно обновляется,Плоская опорная точка остается неизменной.

iOS 15(слева)и iOS 16 (справа) из плоскости опорной точки, ряд форверно соотношения

Вся существующая в настоящее время информация о плоской геометрии содержит имя для ARPlaneExtent В классе из обновления поворота больше не представлены самой привязкой плоскости вращения. Напротив, ARPlaneExtent Содержит новый атрибут RotationOnYAxis, который представляет угол поворота. В дополнение к новым свойствам этот, над плоскостью все состоит из ширины и высоты. также PlaneAnchor определение координаты центра.

4) Захват движения

Захват движения из обновлений включен 2D Скелет и 3D скелет.

для 2D-скелета: добавлены два новых сустава и возможности отслеживания: левое и правое ухо, улучшено общее определение позы;

существовать iPhone 12 и выше и оборудованы M1 Чип из последних iPad Pro и iPad Air На модели, 3D Отслеживание скелета также было улучшено: меньше дрожания и лучшая временная последовательность, а также более стабильное, если человек частично закрыт и приближается к камере;

4) Привязка местоположения

Location Anchor ужесуществовать美国越Приходить越多из Городи Запущен в Лондоне, Великобритания。Следовать за Воляпродолжать увеличиватьсяподдерживатьиз Городвключать:Канадаиз Ванкувер、Торонто и Монреаль, Сингапур и семь мегаполисов (Токио, Австралия, Мельбурн и Сидней, Новая Зеландия);

Если вы хотите узнать, является ли существование привязкой геолокации по определенной координате, вам необходимо проверить метод Availability.

7.3. Рекомендации по дизайну AR-опыта.

Видеть:Qualities of great AR experiences[22]

этот Session в основном обсуждается создание AR Некоторые дизайнерские предложения при подаче заявки. В том числе о том, как направлять людей в правильную среду, как разумно использовать пространство экрана и как постоянно перемещать дизайн сцены. AR Взаимодействие, как учесть эргономику и ограниченность поля зрения из-за ограничений, как использовать подсказку глубины Также ограничьте время работы, чтобы избежать проблем с производительностью и усталости пользователя.

7.4. Перенесите свой мир в AR.

Видеть:Bring your world into augmented reality[23]

этот Session Представлено, как использовать Object Capture и RealityKit Воля реальный мир изверно слона привезли в AR игра. выставкаиспользовать Object Capture Кадры фиксируют объекты, Воля они добавляют приезжать Xcode серединаиз RealityKit проекты, применяют стилизованные шейдеры и анимации, а Воля их используют как AR Опыт работы от части. Также ARKit、RealityKit и Object Capture Время из Best Practices。

Чтобы хорошо выполнить захват объекта, необходимо обратить внимание на несколько вещей:

  • 选择具有правильный特征извернослон:
    • Поверхность объекта должна иметь достаточную изтекстуру. Если верноиз, некоторые области не прозрачны из,Тогда детали в этих областях могут быть плохо восстановлены.
    • На поверхности объекта нет бликов или отражений. Если объект не имеет матовой поверхности, можно попробовать рассеянное освещение, чтобы уменьшить зеркальные отражения на нем.
    • Если вы хотите перевернуть объект, чтобы захватить его нижнюю часть,Убедитесь, что ваш объект остается жестким,То есть существующий объект не должен менять свою форму при переворачивании.
    • Объект существует в определенной степени в виде штрафа из структуры,Но вам нужна камера с высоким разрешением и делать снимки крупным планом, чтобы реконструировать объекты в мельчайших деталях.
  • построить идеализзахватывать окружающую среду:
    • Среда захвата имеет хорошую、Равномерное и рассеянное и з освещение. Важно обеспечить устойчивый фон и достаточное пространство вокруг объекта.
  • стрельбавернослонизфотографии высокого качества:
    • Объект находится в чистой и лаконичной среде,Сделайте так, чтобы объект четко выделялся на фотографии. например,Поставили на чистый белый стол.
    • Делайте разнообразные фотографии с разных ракурсов. В том числе разной высоты и разных углов поворота ожидания.
    • Убедитесь, что объекты полностью представлены на фотографии.,И максимально учитывать четкость и детализацию.

существоватьстрелятьнадпосле фото,下一步就да Воляфотокопироватьприезжать Mac начальствоиспользовать Object Capture API разобраться с ними.

Этапы моделирования захвата объекта

Вы можете выбрать один из четырех различных уровней детализации, оптимизированных для разных случаев использования:

Выберите правильный уровень выходного сигнала

8. Качество видео

8.1. Новые функции AVQT.

Видеть:What’s new in AVQT[24]

AVQT(Advanced Video Quality Tool)Это Apple 2021 Инструмент анализа качества видео был запущен в 2007 году. вводить данные в AVQT Исходные видеои закодированы извидео, после AVQT После обработки засчитывается правильное кодирование и извидео. AVQT это macOS из инструмента, который может имитировать реальное качество видео для оценки, поддерживает уровень кадра также уровень абзаца (обычно абзац 6 секунд, настраивается) основе AVFoundation из всех видеоформатов, включая SDR、HDR、HDR 10、HLG а также Dolby Vision。

Рабочий процесс AVQT

AVQT Уникальность трех ключевых функций: Во-первых, AVQT. И то, как люди говорят, что видео очень Связано. Это подходит для всех жанров содержания, таких как анимация, сцены природы и спорт. Во-вторых, AVQT Имеет отличную скорость обработки благодаря AVQT полагаться на AVFoundation и Metal Для выполнения декодирования и обработки видео. В-третьих, AVQT Цель существования – адаптироваться к различным взглядам на изменения. Одно и то же видео может вызывать разные впечатления в зависимости от настроек просмотра. Это может привести к существованию разрешения дисплея, размера дисплея и расстояния просмотра. AVQT Настроить в .

AVQT существовала серия M1 по скорости обработки

В этом году обновление AVQT включает в себя следующие пункты:

1)поддерживать HTML Визуальная отчетность

В этом году для AVQT Улучшенная последняя версия AVQT может генерировать HTML из Визуальная Отчетность, в которой содержится отображение видео анализа качества, а также интерактивные графики и графики. Добавьте новый флаг «Визуализация», чтобы легко создавать эти отчеты.

AVQT из HTML Отчет

2) Поддержка верновидео указать срок содержания для рейтинга

Еще одной новой функцией является возможность указать временное окно (указать количество кадров) для оценки, при этом можно оценить только качество определенных клипов и конкретных сцен. Это также позволяет сравнивать несуществующее время на достоверном извидео.

3)поддерживатьоригинальный YUV Формат

существоватьдо настоящего временииз版本середина,AVQT продлен до оригинала YUV Форматизподдержка,в том числе 444、422、420、411、410 ждатьвыборка Формат,8 бит, 10 бит, 12 бит, глубина ожидания 16 бит. Это можно оценить в несжатом виде,Например, присылают оригинальную камеру.

4)поддерживать Linux

AVQT сейчассуществовать Можетсуществовать Linux При использовании эта Воля позволяет оценить хранилище, существующее в облаке или существующее. основе Linux Сжимайте изсодержание на сервере без перемещения видео.

Ссылки

[1]

What’s new in HLS Interstitials: https://developer.apple.com/videos/play/wwdc2022/10145/

[2]

Deliver reliable streams with HLS Content Steering: https://developer.apple.com/videos/play/wwdc2022/10144/

[3]

Explore EDR on iOS: https://developer.apple.com/videos/play/wwdc2022/10113/

[4]

Display EDR content with Core Image, Metal, and SwiftUI: https://developer.apple.com/videos/play/wwdc2022/10114

[5]

Animation with a Core Image Render: https://developer.apple.com/documentation/coreimage/generating_an_animation_with_a_core_image_render_destination

[6]

Display HDR video in EDR with AVFoundation and Metal: https://developer.apple.com/videos/play/wwdc2022/110565/

[7]

Create a great video playback experience: https://developer.apple.com/videos/play/wwdc2022/10147/

[8]

Explore media metadata publishing and playback interactions: https://developer.apple.com/videos/play/wwdc2022/110338/

[9]

Discover advancements in iOS camera capture: https://developer.apple.com/videos/play/wwdc2022/110429/

[10]

Create camera extensions: https://developer.apple.com/videos/play/wwdc2022/10022/

[11]

Meet ScreenCaptureKit: https://developer.apple.com/videos/play/wwdc2022/10156/

[12]

Take ScreenCaptureKit to the next level: https://developer.apple.com/videos/play/wwdc2022/10155/

[13]

Discover Metal 3: https://developer.apple.com/videos/play/wwdc2022/10066/

[14]

Fast Resource Loading: https://developer.apple.com/videos/play/wwdc2022/10104

[15]

Offline Shader Compilation: https://developer.apple.com/videos/play/wwdc2022/10102

[16]

MetalFX Upscaling: https://developer.apple.com/videos/play/wwdc2022/10103

[17]

Metal Mesh Shader: https://developer.apple.com/videos/play/wwdc2022/10162

[18]

Maximize Metal Ray Tracing Performance: https://developer.apple.com/videos/play/wwdc2022/10105

[19]

Accelerate Machine Learning with Metal: https://developer.apple.com/videos/play/wwdc2022/10063

[20]

Create parametric 3D room scans with RoomPlan: https://developer.apple.com/videos/play/wwdc2022/10127/

[21]

Discover ARKit 6: https://developer.apple.com/videos/play/wwdc2022/10126/

[22]

Qualities of great AR experiences: https://developer.apple.com/videos/play/wwdc2022/10131

[23]

Bring your world into augmented reality: https://developer.apple.com/videos/play/wwdc2022/10128

[24]

What’s new in AVQT: https://developer.apple.com/videos/play/wwdc2022/10149/

- над -

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose