[Облачная функция SCF] Прямая трансляция TRTC + рендеринг страниц, практика облачной прямой трансляции
[Облачная функция SCF] Прямая трансляция TRTC + рендеринг страниц, практика облачной прямой трансляции

Введение

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

Этот документ требует активации Tencent Cloud.TRTC,Облачный прямой эфир,scfОблачные продукты,где Рендеринг в scf страницы Необходимо активироватьcos,redis,vpcждать Облачные продукты。

Практические шаги по этому документу заключаются в следующем:

  1. Использование веб-сайта TRTC демо открывает комнату для прямых трансляций
  2. Используйте функцию шаблона «ТРТС в прямом эфире» облачной функции для отправки потоков в комнату прямой трансляции в Интернете.
  3. Используйте Облачный прямой эфир для создания адресов записи и прямой трансляции.
  4. «Рендеринг» с использованием облачных функций страница» записывает комнату прямой трансляции TRTC и отправляет поток на Облачный прямой эфир。Когда тестовый документ записал прямую трансляцию TRTC, поскольку URL-адрес был просто статической веб-страницей, в конечном итоге он записывал только статическую веб-страницу комнаты и не записывал аудио и видео, передаваемые облачной функцией.
  5. использовать Облачный прямой играет адрес прямой трансляции эфира Облачный прямой эфир Нажмите на потоковую запись.

ТРТС в прямом эфире

Справочная статья[Tencent Cloud] ТРТС в прямом эфире практика

релиз веб-трансформации

Использование веб-сайта TRTC demo(ссылка:https://github.com/LiteAVSDK/TRTC_Web)Измените соответствующий код, чтобы создать комнату прямой трансляции.,Затем опубликуйте его в Интернете (это может быть общедоступная сеть или интранет).,Если это интранет, приложение «Рендеринг страницы» должно соответствовать URL-адресу прямой трансляции в интрасети.,В противном случае запись будет невозможна).

Примечание. В этом примере тестируется окончательная веб-комната, поскольку это статическая страница. Рендеринг страницы записи статической комнаты прямой трансляции,Потоковый эффект не был зафиксирован. Необходимо разработать веб-интерфейс на основе SDK, связанного с TRTC, для записи прямых трансляций.

  • Это преобразование является всего лишь тестом, поскольку основным интерфейсом по умолчанию после выпуска веб-демо является имя пользователя, номер комнаты, а затем вход в комнату. При записи вы можете записать только этот интерфейс. Его нужно преобразовать в интерфейс комнаты, где находится основной интерфейс.
  • Пункт модификации 1. Найдите TRTC_Web-main/base-js/index.html в загруженной веб-демоверсии, добавьте onload="login()" на вкладку body и поместите код, ссылающийся на js, за index.html в заголовке.
  • Пункт модификации 2: установите для параметра roomId в функции входа() в TRTC_Web-main/base-js/js/common.js значение 111, указывая, что номер комнаты равен 111. По умолчанию пользователь присоединяется к комнате как test1.
  • После завершения преобразования проверьте и щелкните файл index.html. Окно комнаты и имя пользователя по умолчанию должны отобразиться напрямую.
  • Используйте nginx, чтобы опубликовать демо-версию в общедоступном Интернете. Это развертывается с использованием контейнеризации + общедоступной сети clb. После развертывания доступ к общедоступной сети осуществляется следующим образом.
  • После публикации,в соответствии с Справочная статья[Tencent Cloud] ТРТС в прямом эфире практикаиспользовать Шаблон облачной функции"ТРТС в прямом эфире"Отправьте push-поток на соответствующий идентификатор комнаты (111), соответствующий SdkAppId. После отправки проверьте наличие push-видео и push-пользователей в опубликованной веб-комнате.

Облачный прямой эфир

Облачный прямой эфирная продукция

продуктпредставлять:https://cloud.tencent.com/document/product/267/2822

Сценарии применения:https://cloud.tencent.com/document/product/267/3031

Облачный прямой эфир Добавить доменное имя

ссылкадокумент:Быстрый старт

  • Открыть Облачный прямой эфирная продукция,Нужно настроить прямой эфир,Нажмите доменное имя,И два доменных имени не могут быть одинаковыми.
  • Добавить доменное имяссылкадокумент:https://cloud.tencent.com/document/product/267/20381
  • После добавления доменного имени,Будет консоли «Облачный прямой эфир"->"Управление доменными именами"Посмотрите настроенное доменное имя воспроизведения и Нажмите доменное имя

Создать адрес push/play

ссылкадокумент:генератор адресов

  • В консоли «Облачный прямой эфир"->"генератор адреса», выберите имя домена для push-уведомлений, затем установите AppName (в качестве примера возьмем live) и StreamName (в качестве примера возьмем williamji), затем нажмите, чтобы сгенерировать адрес, а затем запишите сгенерированные результаты отдельно. странице требуется push-адрес
  • В консоли «Облачный прямой эфир"->"генератор адреса», выберите имя домена воспроизведения, а затем установите AppName (в качестве примера возьмем live) и StreamName (в качестве примера возьмем williamji), затем щелкните, чтобы сгенерировать адрес, а затем запишите сгенерированные результаты отдельно. Обратите внимание, что AppName и StreamName, используемый для генерации адреса имени домена воспроизведения, должен быть таким же, как и у push-потока, в противном случае адрес воспроизведения не будет виден после отправки потока.

Облачный прямой эфир Тестовый поток push-уведомлений/играть

ссылка Облачный прямой эфир Документация веб-толчок

  • Нажмите"Облачный прямой эфир"->"WebPush-стриминг",В качестве примера возьмем «многоканальный смешанный поток».,Выберите «Несколько потоков».
  • Добавьте источник входного сигнала в конфигурацию входа «Многоканальная смешанная потоковая передача». В качестве первого источника входного сигнала выберите «Получение изображения с камеры». Включите камеру.
  • Добавьте источник входного сигнала в конфигурацию входа «Многоканальная смешанная потоковая передача». В качестве второго источника входного сигнала возьмите «Локальный сбор файлов» в качестве примера и выберите локальное тестовое изображение.
  • После установки источника входного сигнала вы можете просмотреть его справа.
  • После ввода адреса push-уведомления WebRTC нажмите «Начать push». Я вижу, что интерфейс показывает, что поток снова был отправлен.
  • Облачный прямой эфирPlay Чтобы использовать адрес прямой трансляции для просмотра push-информации, Облачный прямой эфириграть方法ссылка:https://cloud.tencent.com/document/product/267/32733
  • Протестируйте здесьиспользоватьtcplayer Просмотрите URL-адрес адреса прямой трансляции, и вы увидите экран push-уведомлений в реальном времени, указывающий, что тест push/воспроизведения прошел успешно.

Рендеринг страницы

Рендеринг страница — это комплексное приложение, предоставляемое бессерверным приложением Cloud Function. Его основные функции включают запись аудио и видео, транскодирование и потоковую передачу. прямой эфир и т. д. По сравнению с панорамной записью, здесь больше возможностей принудительной потоковой передачи. прямой Функция эфира. В настоящее время он находится в оттенках серого, и его необходимо открыть для производства и исследований, Рендеринг. страницы Еще нетпродуктдокумент,Можетссылка全景录制документ里的接口:https://cloud.tencent.com/document/product/583/62573

создавать Рендеринг страницыприложение

  • Рендеринг страниц основан на vpc, cos и redis. Для их создания сначала обратитесь к соответствующим документам по облачным продуктам.
  • Рендеринг страницы После признания,Можно найти в"Serverless"->"Serverlessприложение"->"Новыйприложение"来Новыйприложение
  • Найдите «Рендеринг» на новой странице приложения. страницы» и выберите, если нет, то необходимо обратиться к архитектору на открытие
  • существовать Рендеринг страницы интерфейса конфигурации, после написания базовой конфигурации нажмите «Готово». Рендеринг Приложение страницы создаст несколько облачных функций, что займет определенное время.
  • После создания рендеринга страницы,Можно найти в"Serverless"->"Serverlessприложение"Поиск и просмотр
  • Нажмите, чтобы войти в приложение, и вы увидите облачные функции приложения и шлюз API.
  • Вы можете использовать услуги, предоставляемые API-шлюзом, для вызова Рендеринга. страница. Здесь тест обрабатывается с использованием интерфейса отладки в apigw.
  • Вы можете видеть, что шлюз API использует тип аутентификации «Аутентификация приложения».,Аутентификация приложений и образцы документов аутентификации на нескольких языках,pythonссылка:https://cloud.tencent.com/document/product/628/56048
  • Этот пример служит проверкой,Непосредственно используйте интерфейс отладки в apigw.,И измените тип аутентификации на"Без сертификации"(Уведомление:Никогда не используйте метод без аутентификации в производственной среде.),Нажмите Рендеринг Ссылка на шлюз API, представленная в приложении на странице, ведет к соответствующему шлюзу API «Сервис» и «Управление API». Измените конфигурацию «Тип аутентификации» на «Бесплатная аутентификация», затем нажмите «Готово» и, наконец, опубликуйте.
  • Нажмите «Отладка API» в соответствующем API, используйте метод POST и выберите «Тело». Соответствующее тело тела — json.
  • Пример ввода json выглядит следующим образом. Поле «Тело» в основном такое же, как панорамная запись, с добавлением полей «Режим» и «Параметр обслуживания».
Язык кода:javascript
копировать
{
    "Action": "Start",
    "Data": {
        "RecordURL": "https://81.71.145.239/static/", 
        "Width": 1280,
        "Height": 720,
        "Mode": 3,
        "CallbackURL": "https://service-9vl7ydee-1253970226.cq.apigw.tencentcs.com/release/williamji-helloworld",
        "MaxDurationLimit": 21600,
        "Output":{
            "Cos":{
                "Domain":"williamji-1253970226.cos.ap-guangzhou.myqcloud.com", 
                "Bucket":"williamji-1253970226", 
                 "Region":"ap-guangzhou", 
                "TargetDir":"record-output/", 
                "TargetName":"record-file-name"  
        },
        "ServiceParam": {           
            "RtmpUrl": "rtmp://66679.livepush.myqcloud.com/live/williamji?txSecret=c8fbec35de878b0f686a20efdba946bc&txTime=630F5BC0"                            
        },
     "Video": {
        "Muxer": "mp4",
            "EncryptKey": "",
            "AuthUrl": ""
            }
         }
        }
}

  • Режим в образце json равен 3, что указывает на запись и Облачный. прямой режим передачи эфира, RtmpUrl в ServiceParam написан Облачным прямой Адрес эфиргенерации push-потока (адрес rtmp), RecordURL записывает URL-адрес комнаты прямой трансляции TRTC.
  • После вызова API для отладки код состояния равен 200, а в теле возврата присутствуют TaskID и RequestID, указывающие на то, что был вызван рендеринг. страница успеха. Вы можете перейти к функции облака записи, соответствующей приложению, чтобы просмотреть журналы записи и потоковой передачи.
  • Хранилище промежуточных файлов записи и информация журнала принудительной отправки в функции облака записей следующие:
  • Вы можете использовать адрес прямой трансляции для просмотра передаваемой информации.,Уведомление直播играть地址需要ссылка:https://cloud.tencent.com/document/product/267/32733
  • использоватьtcplayer Предварительный просмотр адреса прямой трансляцииurl,Может看到直播Push-стримингкартина。Тест показал, что в контенте прямой трансляции присутствует только один пользователь «test1» и нет облачной функции ТРТС. в прямом Пользователь эфире "williamji2" и TRTC пуш-видео, причина в сети URL-адрес соответствует статическому index.html, Рендеринг страницазапись ведется Имитируйте браузер, чтобы открыть URL-адрес для записи экрана. Комната прямых трансляций TRTC нуждается в доработке
  • Вызов интерфейса остановки записи интерфейса Рендеринг страницыapi,Используйте метод POST,пример тела json
Язык кода:javascript
копировать
{
    "Action": "Stop",
    "Data": {
        "TaskID": "8046a745-f70e-4b4c-b16d-d8f7cc7af15c"
    }
}
  • Окончательный результат записи сохраняется в Выходе, указанном в теле вызывающего интерфейса записи. Путь теста находится в каталоге Record-output/, соответствующем экземпляру корзины cos. Воспроизведите файл результатов записи следующим образом.
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