На этой странице представлены основные требования к клиентским видеокодекам API Google Meet Media для обеспечения удобства работы пользователей.
Функциональные требования
В этом разделе указаны требования к типам и функциям кодеков.
Особенность | Требование | ||
---|---|---|---|
Профиль | АВ1 | ВП9 | ВП8 |
Main | Profile 0 | Н/Д | |
Масштабируемость | Декодер должен поддерживать временную масштабируемость, пространственную масштабируемость или и то, и другое, если этого требует спецификация кодирования для данного типа и профиля кодека. | ||
Необработанный формат видео | Кодек должен поддерживать обработку нечетных разрешений (например, когда ширина или высота кадра не кратны 2; например, 133 × 141). Для форматов цветности с субдискретизацией количество выборок цветности на измерение должно быть округлено в большую сторону при получении от количества выборок яркости. Обрезка, заполнение или масштабирование не допускаются. Разрешение выходного кадра должно соответствовать разрешению входного кадра. |
Эксплуатационные требования
В этом разделе указаны требования для различных условий, в которых, как ожидается, будет работать видеокодек. Нарушение этих требований может ограничить использование кодека подмножеством сценариев, но не обязательно препятствует его использованию. Например, если максимальное количество экземпляров кодека меньше требуемого, кодек все равно можно использовать вместе с кодеками других типов или реализаций.
Параметр | Требование | |||
---|---|---|---|---|
Минимальное разрешение, пикселей | ≤ 128 × 128 | |||
Максимальное разрешение, пикселей | ≥ 2880 × 1800 | |||
Минимальная частота кадров, FPS | ≤ 1 | |||
Максимальная частота кадров, FPS | ≥ 30 | |||
Минимальный битрейт, кбит/с | ≤ 30 | |||
Максимальный битрейт, кбит/с | ≥ 5000 | |||
Максимальное количество экземпляров декодера | ≥ 3 | |||
Максимальная общая пропускная способность декодирования, пикселей в секунду | ≥ 3 × 2880 × 1880 × 30 |
Требования к производительности
В этом разделе указаны требования к производительности кодека. Нарушение этих требований может существенно повлиять на работу пользователя и почти наверняка заблокирует использование кодека.
Параметр | Требование |
---|---|
Максимальное время межкадровой обработки, секунды | ≤ 1 / max(30, encode_target_frame_rate_fps) |
Максимальное время обработки ключевого кадра, секунды | ≤ 2 / max(30, encode_target_frame_rate_fps) |
Время обработки кадра — это разница во времени между двумя событиями: 1) кодек доставляет кадр и 2) кодек получает кадр. Среднее время обработки кадра рассчитывается по скользящему окну длительностью не менее 10 секунд, в котором содержится не менее 10 кадров . Максимальное время обработки кадра является самым высоким значением среди всех значений времени обработки отдельных кадров.
Пропускная способность рассчитывается как количество обработанных кадров, включая пропущенные, разделенное на разницу времени между двумя событиями: 1) кодек доставляет последний кадр и 2) кодек доставляет первый кадр.
Тестовые случаи
Ниже приведены тестовые примеры, которые вы можете использовать:
Тесты | |
---|---|
Пропускная способность декодирования | Декодируйте до трех потоков 2880×1880×30 одновременно и убедитесь, что декодеры не нарушают требования к производительности. |
Соответствие декодера | Декодируйте набор предварительно закодированных битовых потоков. Выходные данные тестового декодера должны соответствовать выходным данным эталонного декодера ( libvpx для VP8 и VP9, libaom для AV1). |
Временная масштабируемость | Декодируйте видео с помощью нескольких временных слоев (2 и 3). Выходной сигнал тестового декодера должен соответствовать выходному сигналу эталонного декодера. |
Пространственная масштабируемость | Декодируйте видео с помощью нескольких пространственных слоев (2 и 3). Выходной сигнал тестового декодера должен соответствовать выходному сигналу эталонного декодера. |
Связанные темы
,На этой странице представлены основные требования к клиентским видеокодекам API Google Meet Media для обеспечения удобства работы пользователей.
Функциональные требования
В этом разделе указаны требования к типам и функциям кодеков.
Особенность | Требование | ||
---|---|---|---|
Профиль | АВ1 | ВП9 | ВП8 |
Main | Profile 0 | Н/Д | |
Масштабируемость | Декодер должен поддерживать временную масштабируемость, пространственную масштабируемость или и то, и другое, если этого требует спецификация кодирования для данного типа и профиля кодека. | ||
Необработанный формат видео | Кодек должен поддерживать обработку нечетных разрешений (например, когда ширина или высота кадра не кратны 2; например, 133 × 141). Для форматов цветности с субдискретизацией количество выборок цветности на измерение должно быть округлено в большую сторону при получении от количества выборок яркости. Обрезка, заполнение или масштабирование не допускаются. Разрешение выходного кадра должно соответствовать разрешению входного кадра. |
Эксплуатационные требования
В этом разделе указаны требования для различных условий, в которых, как ожидается, будет работать видеокодек. Нарушение этих требований может ограничить использование кодека подмножеством сценариев, но не обязательно препятствует его использованию. Например, если максимальное количество экземпляров кодека меньше требуемого, кодек все равно можно использовать вместе с кодеками других типов или реализаций.
Параметр | Требование | |||
---|---|---|---|---|
Минимальное разрешение, пикселей | ≤ 128 × 128 | |||
Максимальное разрешение, пикселей | ≥ 2880 × 1800 | |||
Минимальная частота кадров, FPS | ≤ 1 | |||
Максимальная частота кадров, FPS | ≥ 30 | |||
Минимальный битрейт, кбит/с | ≤ 30 | |||
Максимальный битрейт, кбит/с | ≥ 5000 | |||
Максимальное количество экземпляров декодера | ≥ 3 | |||
Максимальная общая пропускная способность декодирования, пикселей в секунду | ≥ 3 × 2880 × 1880 × 30 |
Требования к производительности
В этом разделе указаны требования к производительности кодека. Нарушение этих требований может существенно повлиять на работу пользователя и почти наверняка заблокирует использование кодека.
Параметр | Требование |
---|---|
Максимальное время межкадровой обработки, секунды | ≤ 1 / max(30, encode_target_frame_rate_fps) |
Максимальное время обработки ключевого кадра, секунды | ≤ 2 / max(30, encode_target_frame_rate_fps) |
Время обработки кадра — это разница во времени между двумя событиями: 1) кодек доставляет кадр и 2) кодек получает кадр. Среднее время обработки кадра рассчитывается по скользящему окну длительностью не менее 10 секунд, в котором содержится не менее 10 кадров . Максимальное время обработки кадра является самым высоким значением среди всех значений времени обработки отдельных кадров.
Пропускная способность рассчитывается как количество обработанных кадров, включая пропущенные, разделенное на разницу времени между двумя событиями: 1) кодек доставляет последний кадр и 2) кодек доставляет первый кадр.
Тестовые случаи
Ниже приведены тестовые примеры, которые вы можете использовать:
Тесты | |
---|---|
Пропускная способность декодирования | Декодируйте до трех потоков 2880×1880×30 одновременно и убедитесь, что декодеры не нарушают требования к производительности. |
Соответствие декодера | Декодируйте набор предварительно закодированных битовых потоков. Выходные данные тестового декодера должны соответствовать выходным данным эталонного декодера ( libvpx для VP8 и VP9, libaom для AV1). |
Временная масштабируемость | Декодируйте видео с помощью нескольких временных слоев (2 и 3). Выходной сигнал тестового декодера должен соответствовать выходному сигналу эталонного декодера. |
Пространственная масштабируемость | Декодируйте видео с помощью нескольких пространственных слоев (2 и 3). Выходной сигнал тестового декодера должен соответствовать выходному сигналу эталонного декодера. |