Применение Google Cloud для эффективного перекодирования и распространения видео
Применение Google Cloud для эффективного перекодирования и распространения видео

Нажмите «LiveVideoStack» выше, чтобы подписаться на нас.

▲Отсканируйте QR-код на картинке или нажмите, чтобы прочитать исходный текст▲

Узнайте больше о конференции по аудио и видео технологиям

Примечание редактора:MeshCloudс помощьюGCPСотрудничество обеспечивает мощную глобальную инфраструктуру для китайских зарубежных предприятий.。сегодняLiveVideoStackПрошел открытый урокMeshCloudБыл приглашен преподаватель Ю Южи из Google Cloud.,Расскажите нам, как использовать технологии и возможности Google Cloud для эффективного перекодирования и распространения видео.,Обеспечьте быстрое и качественное развертывание зарубежных аудио- и видеоуслуг.

Текст/Ю Южи

Организация/LiveVideoStack‍‍

Привет всем, я Ю Южи из Google Cloud. В основном я помогаю зарубежным клиентам запустить свой бизнес за границей. Я очень благодарен LiveVideoStack за предоставление этой платформы, чтобы я мог общаться со всеми. Студенты, которые занимались бизнесом за границей, будут знакомы с Google Cloud. Google Cloud входит в тройку крупнейших поставщиков облачных услуг в мире с 35 регионами центров обработки данных и более чем 100 зонами доступности по всему миру. Многие студенты в основном знакомы с ее сетевыми виртуальными машинами и контейнерными продуктами, но сегодня я в основном представлю ее услуги в области аудио и видео.

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

Далее мы расскажем, какие конкретные форматы поддерживает служба транскодирования, и этот вопрос также волнует всех больше всего. Прежде всего, в области аудио и видео поддерживается множество входных форматов, включая видео, снятое мобильными телефонами, видео, снятое различными записывающими устройствами, аудио, файлы субтитров и т. д. Тогда, что касается выходных форматов, такие форматы кодирования, как H.264, H.265 и VP9, ​​могут лучше поддерживаться при кодировании видео. Теперь каждый может также обратить внимание на новые бесплатные форматы кодирования. VP9 — это формат кодирования, который Google часто использует в таких компаниях, как YouTube. В некоторых сценариях по сравнению с такими форматами кодирования, как H.264, VP9 может сэкономить 50 % трафика, особенно в некоторых развивающихся регионах (Африка, Ближний Восток, Южная Америка). и т. д.), что позволяет пользователям смотреть видео более плавно, используя меньшую полосу пропускания, что повышает удобство использования. Помимо VP9, ​​Google также участвовала в разработке формата кодирования AV1, который в будущем также будет добавлен к поддерживаемым форматам вывода. Что касается звука и субтитров, существует также множество поддерживаемых форматов кодирования вывода. Кроме того, мы также поддерживаем вывод изображений. Позже мы представим соответствующий сценарий, чтобы объяснить, почему необходимо выводить изображения при кодировании видео.

Одним из самых больших преимуществ этой услуги является то, что она помогает клиентам добавлять функции управления авторскими правами на видео при поездках за границу. Когда видео публикуется за границей, у владельца авторских прав возникают некоторые требования, например, шифрование видео или использование стандартов управления авторскими правами. Сейчас в мире существует три основных стандарта, включая Apple FairPlay, Google Widevine и Microsoft PlayReady. Кроме того, Apple выпустила бесплатную версию стандарта шифрования AES-128. При перекодировании вы можете добавить и настроить упомянутые выше стандарты, чтобы лучше управлять и защищать авторские права на контент в соответствии с требованиями. Это также очень удобная функция в сервисе перекодирования.

Служба перекодирования Google имеет особое техническое преимущество: она может использовать анализ видео и контейнерные службы Google, чтобы помочь пользователям завершить перекодирование длинных видео за короткое время. Когда принимается длинное видео, оно сначала выполняет анализ контента, затем автоматически разрезает его, делит на разные сегменты и параллельно развертывает задачи перекодирования/кодирования, а затем использует большой кластер для завершения перекодирования видеоконтента в параллельный, что делает время перекодирования длинных видео фиксированным (в основном в пределах 3–5 минут) и не увеличивается с длиной видеоконтента.

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

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

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

Далее давайте приведем пример использования службы транскодирования для создания потокового мультимедиа DASH. В настоящее время многие пользователи смотрят потоковое мультимедиа онлайн (используя для просмотра планшеты или мобильные телефоны). Форматы, обычно используемые за рубежом, — это не формат FLV1, обычно используемый в Китае, а формат HLS и формат MPEG-DASH. В службе перекодирования Google Cloud было сделано множество оптимизаций для этих двух форматов потокового мультимедиа. В этом примере для потокового вывода определены три различных битрейта: 400 кбит/с, 750 кбит/с и битрейт только для аудио (самый низкий битрейт). Эти три формата битовой скорости можно перекодировать и выводить в соответствии с правилами, чтобы гарантировать, что различные битовые скорости в конечном итоге будут соответствовать определенной битовой скорости воспроизведения. При этом файлы MPD и файлы M4S видео- или аудиопотоков также будут генерироваться автоматически, и эти файлы можно будет просматривать на мобильных устройствах. Аналогично, процесс перекодирования формата HLS аналогичен описанному выше процессу.

Далее представлена ​​еще одна интересная сцена. Если во входном видео имеется несколько разных звуковых дорожек, например многоязычные звуковые дорожки, а в выходном файле необходимо выбрать разные звуковые дорожки в соответствии с разными странами продвижения, то для выбора и определения можно использовать перекодирование. В частности, вы можете ссылаться на определенную звуковую дорожку или канал во входном файле, а затем добавлять звуковые дорожки на разных языках в разные файлы во время вывода, чтобы окончательный выходной файл можно было настроить по-разному в зависимости от разных рынков. Таким образом, его можно гибко применять к бизнесу в разных зарубежных странах и на рынках.

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

Кроме того, вы также можете указать соотношение сторон выходного изображения. Некоторые видео имеют соотношение сторон 16:9, а некоторые — 4:3. Таким образом, вы можете выбирать различные соотношения сторон выходных изображений, чтобы адаптироваться к соотношению сторон самого видео без деформации. Аналогичным образом вы можете выбрать изображение в качестве обложки видео, чтобы улучшить взаимодействие с пользователем.

Я только что представил некоторые основные функции и возможности, а затем расскажу, как использовать службу перекодирования. Прежде всего, необходимо провести внутренний анализ видео, чтобы понять формат, продолжительность и характеристики кодирования входного видео, а также понять, какие дорожки аудио и субтитров содержит входное видео. Затем вам необходимо определить формат вывода, то есть определить желаемый формат вывода для различных сценариев, таких как воспроизведение через Wi-Fi, воспроизведение с мобильного телефона и т. д. Далее согласно определению ввода и вывода завершаем написание конфигурации транскодирования. Среди них вы можете обратиться к примерам и шаблонам в документации, а наши коллеги из Google Cloud также могут помочь клиентам в отладке. Отлаженную конфигурацию можно использовать в облаке. После создания каждой задачи можно выбрать конкретный шаблон конфигурации. Окончательный выходной видеофайл можно воспроизвести и протестировать на различных проигрывателях, а затем можно закрепить конфигурацию, обеспечивающую ожидаемый тестовый эффект, для последующего использования. Вышеописанный процесс является грубым.

Чтобы автоматизировать этот процесс, мы разработали решение. В этом решении мы используем службу бессерверного хостинга Google Cloud, чтобы помочь вам создавать рабочие процессы производства видео в режиме без операций. Сначала создайте каталог хранения в объектном хранилище Google Cloud и поместите в него все исходные видео. Затем всякий раз, когда загружается новое видео, будет запускаться облачная функция, и облачная функция запускает задачу перекодирования, которая может ссылаться на соответствующую конфигурацию перекодирования в соответствии с характеристиками видео. После завершения задачи перекодирования сообщение будет доставлено в очередь сообщений, и очередь сообщений запустит другую облачную функцию на основе полученного сообщения, которая будет управлять выходным файлом. Существует несколько типов выходных файлов. Один из них: если задача завершается неудачно, входной/выходной файл должен быть помещен в место хранения очереди, в которой произошел сбой. Во-вторых, если задача выполнена успешно, она будет помещена в опубликованное хранилище. Также вы можете использовать соответствующий код для реализации управления каталогом контента и помещения результатов перекодирования видеоконтента в базу данных. Такой полностью автоматизированный конвейер подходит для сценариев с загруженным бизнесом и множеством задач по перекодированию.

На данный момент я представил услугу транскодирования. Завершение службы перекодирования — это первый шаг. Далее нам нужно подумать о том, как разрешить пользователям просматривать видео. Здесь мы рекомендуем использовать техническую службу Google Cloud — CDN. Видео, прошедшие службы перекодирования, можно поместить в объектное хранилище, что позволяет объектному хранилищу служить исходным сайтом видео. Объектное хранилище может выполнять определение имени, разделение каталогов и управление жизненным циклом. При этом основная цель размещения видео в объектном хранилище — добиться эффективного распространения контента. Таким образом, вы можете использовать CDN Google Cloud для доступа к GCS и использовать хранилище объектов в качестве исходного сайта, чтобы пользователи могли загружать видео с более высокой скоростью. Например, Google Cloud имеет множество сетевых развертываний по всему миру и более 100 узлов CDN. Эти узлы напрямую подключены к тысячам основных операторов по всему миру. Таким образом, в большинстве стран и регионов пользователи могут получить доступ к кешу CDN через один переход ASN и могут эффективно просматривать или загружать видео. Пользователи некоторых небольших операторов также могут получить доступ к кешу CDN через два или три перехода ASN, а затем эффективно загружать контент.

Далее я познакомлю вас с развертыванием сети CDN Google Cloud и объектного хранилища исходного сайта. Видно, что в некоторых горячих точках по всему миру, таких как США и Европа, развертывание происходит относительно интенсивно, что может помочь зарубежным пользователям добиться быстрого и эффективного развертывания видеосервисов. В настоящее время многие зарубежные клиенты используют CDN Google Cloud для загрузки не только видео, но также приложений и игр. Это связано с тем, что видеосервисы можно беспрепятственно развернуть с помощью службы транскодирования Google Cloud и CDN.

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

Вот чем я делюсь сегодня, спасибо всем за внимание.


▼Узнайте QR-код или нажмите на изображение ниже, чтобы подписаться на курс▼

Если вам нравится наш контент, нажмите «Смотреть»!

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