Аудио- и видеоприложения: как добиться непрерывного подключения микрофона в комнате прямой трансляции
Аудио- и видеоприложения: как добиться непрерывного подключения микрофона в комнате прямой трансляции

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

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

Introduction

В 2015 году прямые аудио- и видеотрансляции вызвали большой взрыв. Типичными сценариями являются прямые трансляции интерактивных развлечений и электронной коммерции. WebRTC быстро развивался в 2017 году. Типичными сценариями являются интернет-конференции, онлайн-обучение, прямые трансляции с малой задержкой и взаимодействие. Начните спекулировать на Yuanverse в 2021 году, и аудио и видео также являются одними из основных возможностей.

Взрывной рост аудио и видео обусловлен быстрым развитием и совершенствованием облачных вычислений, базовых сетей и интеллектуальных терминалов. За последние десять лет базовая сеть быстро развивалась, широко использовалась сеть 4G, а широкополосная связь практически достигла покрытия во всех уголках страны. С ростом популярности интеллектуальных терминалов, особенно смартфонов, Китай вступил в эпоху мобильного Интернета. В качестве способа передачи информации можно постепенно использовать более интуитивно понятные аудио и видео.

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

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

Prerequisites

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

  • • Облачный хост с общедоступным IP-адресом. Рекомендуемое облако SRS[1], облачный сервер с аудио- и видеосервером SRS, Tencent Cloud Lighthouse или CVM имеет облачный образ SRS, другие облачные хосты можно установить с помощью Pagoda.
  • • Иметь определенную основу в разработке программного обеспечения. Несмотря на то, что разработан относительно простой сценарий начального уровня, для некоторых сценариев все же требуются возможности разработки мобильных терминалов и возможности работы с сервером Linux.
  • • [Необязательно] Зарегистрированное доменное имя, доменное имя требуется для подачи заявки на получение легального сертификата HTTPS для принудительной потоковой передачи WebRTC без доменного имени, вы можете использовать только самозаверяющий сертификат, работать с которым сложнее, но это так; также осуществимо.

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

Step 1: Build a Live Room using RTMP and HLS

Чтобы подключить комнату прямой трансляции к микрофону, нам сначала нужно построить обычную комнату прямой трансляции. Хотя в ней нет возможности подключения микрофона, прямая трансляция и просмотр являются базовыми возможностями.

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

первый,Скачиваем стриминговый инструмент OBS[2],Это широко используемый инструмент потоковой передачи.,В сети много документов и видеоуроков.,Вы можете потратить время, чтобы понять основы использования。мы выбираемSettings > Stream > Service(Custom),Push-адрес OBS состоит из двух частей.,в целомпрямая трансляция Платформа это предоставит,Например:

  • • Server,Нажмите адрес,Например, номер видео:rtmp://******.livepush.myqcloud.com/trtc_**********/
  • • Stream Key,Нажмите клавишу,Например, номер видео:live_******?txSecret=******&txTime=******

Затем мы посмотрим на платформу прямой трансляции. По сложности реализации, от простого к сложному, на выбор есть три способа:

  • • SaaS: напрямую используйте существующую платформу потокового вещания. Преимущества: нет сложностей, можно напрямую использовать для крупномасштабного коммерческого использования. Недостатки: невозможно настроить, невозможно понять принцип прямой трансляции.
  • • Решение с открытым исходным кодом: используйте серверы с открытым исходным кодом для создания платформы прямого вещания. Преимущества: простой в использовании, программируемый и настраиваемый, а также возможность понять принципы прямой трансляции. Недостатки: требует настройки сервера и не может использоваться в больших масштабах;
  • • PaaS: используйте облачные службы потокового вещания. Преимущества: прост в использовании, имеет определенные настройки и может быть напрямую использован для крупномасштабного коммерческого использования. Недостатки: требуется облачная учетная запись и может потребоваться оплата;

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

Мы создаем новую прямую трансляцию на платформе SaaS. На разных платформах будут предъявляться требования к проверке или другие требования. Как только требования будут выполнены, вы сможете создать прямую трансляцию, например учетную запись видео [3] или станцию ​​B [4]. в прямом эфире вы можете получить два параметра OBS Push. После отправки потока в SaaS вы можете использовать клиент SaaS для его просмотра. Например, учетную запись видео можно перенаправить в группы и моменты WeChat, и ее можно просмотреть в WeChat, например, Bilibili — это приложение Bilibili, а также его можно просматривать через веб-страницу; Полная ссылка на прямую трансляцию приведена ниже:

Язык кода:javascript
копировать
ОБС (якорь) ---RTMP---> Видеоаккаунт/Платформа Bilibili -----> Приложение WeChat/Bilibili (аудитория)

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

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

Для решений с открытым исходным кодом в прямом эфире инструмент потоковой передачи по-прежнему использует OBS [5], и метод использования тот же. Но нам нужно самостоятельно развернуть сервер, а также нужно выбрать клиент для просмотра прямой трансляции:

  • • Инструменты потоковой передачи: OBS, vMix, Xinxiang, Tencent Conference и т. д.
  • • Платформа прямой трансляции: Cloud SRS, SRS, NginxRTMP и т. д.
  • • Инструменты просмотра: браузер Chrome, VLC и т. д.

Рекомендуется использовать Cloud SRS, поскольку позже его также можно использовать для непрерывной пшеницы. Самый удобный способ развертывания SRS — использовать облачный SRS [6], который можно развернуть одним щелчком мыши с помощью образа Tencent Cloud. Другие облака или ваши собственные виртуальные машины можно развернуть с помощью Pagoda. Подробности см. в видеоруководстве. [7]. Если вы хотите скомпилировать и развернуть SRS из кода, вы также можете обратиться к SRS[8].

После развертывания SRS вы можете использовать OBS для отправки потока в SRS. Адрес обычно относительно прост, например:

  • • Server: rtmp://your-server-ip/live/
  • • Stream Key: livestream

Примечание. При использовании облачной SRS,ноStream KeyМогут быть символы аутентификации.,Напримерlivestream?secret=******,Доступен из облакаSRS的后台私人прямая трансляциямеждуПросто скопируйте。

Плееры с открытым исходным кодом нужно выбирать самостоятельно,Самый простой — VLC[9],выбиратьFile > Open Network,Затем введите адрес:

  • • RTMP-поток: rtmp://your-server-ip/live/livestream
  • • FLVпоток:http://your-server-ip/live/livestream.flv
  • • HLSпоток:http://your-server-ip/live/livestream.m3u8

Note: Если вы развертываете SRS самостоятельно, порт HTTP по умолчанию равен 8080, и его необходимо добавить к адресу, например http://your-server-ip:8080/live/livestream.flv

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

Язык кода:javascript
копировать
ОБС (якорь) ---RTMP---> SRS ----RTMP/FLV/HLS---> VLC

Примечание. Для протоколов RTMP и FLV между клиентом и SRS существует соединение TCP. Протокол HLS представляет собой несколько TCP-соединений.

Обычные пользователи не будут использовать VLC для просмотра прямых трансляций. Фактически, вы также можете смотреть прямую трансляцию напрямую с помощью браузера. Например, с помощью SrsPlayer[10] вы можете ввести адрес FLV или HLS для просмотра. Прямую трансляцию HLS могут смотреть как ПК, так и мобильные терминалы. Вы также можете встроить адрес прямой трансляции в страницу блога WordPress, обратитесь к ссылке [11], чтобы иметь более богатое отображение контента. Помимо просмотра прямых трансляций HLS на H5, мобильный терминал также может использовать ijkplayer[12] для встраивания прямых трансляций в собственные приложения.

После установки плагина SrsPlayer[13] создайте новую публикацию или страницу и вставьте прямую трансляцию на страницу WordPress:

Язык кода:javascript
копировать
[srs_player url="http://your-server-ip/live/livestream.flv"]

Примечание. Для онлайн-ДЕМО см. демонстрацию прямой трансляции FLV [14].

Примечание. Для различных бизнес-требований мы можем выбирать разные прямые потоки. Как правило, FLV имеет меньшую задержку и не так совместим, как HLS, который имеет более высокую задержку, но имеет хорошую совместимость с платформами. Вы также можете использовать WebRTC для просмотра прямых трансляций. Здесь это не описано. Если вам интересно, вы можете изучить это самостоятельно.

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

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

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

Step 2: Start Video Chat using WebRTC

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

Независимо от того, какая технология, платформа или архитектура выбрана, судя по блок-схеме, подключение к микрофону — это процесс звонка:

Язык кода:javascript
копировать
Якорь <---RTC---> сервер или платформа <---RTC---> Якорь

Примечание. В отличие от протокола TCP, который обычно используется для прямых трансляций, RTC здесь, как правило, является протоколом UDP, и TCP-соединения не будет. Однако с точки зрения логического потока якорям необходимо передавать и извлекать потоки друг друга для завершения. подключение микрофона или процесс вызова.

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

Примечание. WebRTC — это стандарт вызовов, но на самом деле WebRTC — это не RFC, а состоит из десятков основных RFC. Кроме того, с точки зрения бизнес-сигнализации, алгоритмов управления перегрузкой QoS, голосовых алгоритмов, а также алгоритмов кодирования и декодирования, каждая платформа разработала частный протокол, основанный на ее собственных бизнес-характеристиках и оптимизации, поэтому даже если WebRTC, поддерживаемый каждой платформой, не совместимый.

Аналогично, самый простой план звонков — SaaS. Вы можете выбрать Tencent Conference или Zoom SaaS для двух звонков. У них есть свои клиенты и системы учетных записей, которые вам нужно только скачать и использовать.

Если вы используете открытый исходный код для его сборки, рекомендуется использовать сервер SRS. Самый удобный способ развертывания SRS — использовать облачный SRS [16], который можно развернуть одним щелчком мыши с помощью образа Tencent Cloud. Другие облака или ваши собственные виртуальные машины можно развернуть с помощью Pagoda. Подробности см. в видеоруководстве. [17]. Если вы хотите скомпилировать и развернуть SRS из кода, вы также можете обратиться к SRS [18].

Поскольку потоковая передача WebRTC должна использовать HTTPS, а для HTTPS требуется доменное имя и сертификат, вы можете обратиться к инструкции по настройке HTTPS [19]. Конечно, если вы используете самозаверяющий сертификат, вам необходимо вручную разрешить самозаверяющий сертификат.

После установки Cloud SRS,我们打开后台私人прямая трансляциямежду,выбиратьWebRTC-стриминг,Нажмите кнопку «Изменить название потока».,Получите ссылки на потоковую передачу и воспроизведение,каждый Якорьодинпоток Адрес, например:

  • • ЯкорьA:webrtc://lh.ossrs.net:443/live/acagdd?secret=xxx
  • • Якорь Б:webrtc://lh.ossrs.net:443/live/ccdkkc?secret=xxx

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

Язык кода:javascript
копировать
ЯкорьA ----WebRTC-----> SRS ----WebRTC---> Якорь Б
Якорь Б ----WebRTC-----> SRS ----WebRTC---> ЯкорьA

Примечание. Обмен адресами воспроизведения между якорями на самом деле является своего рода бизнес-сигнализацией. Если два якоря подключены к микрофону, они могут вручную обмениваться адресами воспроизведения друг друга. Если к микрофону подключено 10 якорей, это сервер бизнес-сигнализации. необходимо для реализации обмена сигналами автоматически после входа в комнату.

Аналогичным образом, потоковая передача и воспроизведение WebRTC могут быть встроены в страницы блога WordPress, см. ссылку [20], чтобы можно было отображать более богатый контент.

После установки плагина SrsPlayer[21] создайте новую публикацию или страницу, например страницу привязки A, и вставьте адрес отправки потока и воспроизведения потока другой стороны:

Язык кода:javascript
копировать
[srs_publisher url="webrtc://your-server-ip/live/stream-a"]
[srs_player url="webrtc://your-server-ip/live/stream-b"]

Примечание. Для онлайн-ДЕМО см. страницу WebRTC: Anchor A [22].

На странице Anchor B вставьте адрес отправки потока и воспроизведения потока другой стороны:

Язык кода:javascript
копировать
[srs_publisher url="webrtc://your-server-ip/live/stream-b"]
[srs_player url="webrtc://your-server-ip/live/stream-a"]

Примечание. Для онлайн-ДЕМО см. страницу WebRTC: Anchor B [23].

Два якоря могут открывать страницу отдельно, чтобы обеспечить непрерывную трансляцию.

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

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

Step 3: Covert WebRTC to RTMP

Технически существует несколько вариантов преобразования Lianmai в прямую трансляцию:

  • • Потоковая передача на стороне клиента: используйте OBS для захвата изображений и звуков Lianmai. OBS, естественно, имеет возможность смешивать потоки и макет, а затем запускать прямую трансляцию.
  • • Потоковая передача с сервера: платформа Lianmai смешивает потоки Lianmai, а затем преобразует их в прямые потоки или преобразует потоки WebRTC в потоки RTMP, а затем смешивает их.

Давайте сначала посмотрим на простыеСмешанная потоковая передача на стороне клиентаплан,Клиент ОБС,НовыйSources > Window Capture,Запечатлейте конференцию Tencent Лианмая илиWebRTCвеб-страница。ЗатемвыбиратьSettings > Audio > Global Audio Device > Desktop Audio > Default,Вы можете добавить Desktop Audio, представляющий собой сведение Lianmai.

Примечание. OBS также может обрезать окно после нескольких снимков, чтобы получить более сложную компоновку.

Для WebRTC вы можете создать отдельную страницу, чтобы извлекать поток хоста, но не отправлять его, как показано ниже:

Язык кода:javascript
копировать
[srs_player url="webrtc://your-server-ip/live/stream-a"]
[srs_player url="webrtc://your-server-ip/live/stream-b"]

Примечание. Для онлайн-ДЕМО см. страницу WebRTC: Anchor B [24].

В ОБС,НовыйодинSources > Browser,открыть эту страницу,Вы можете захватывать как видео, так и звук. OBS также может обрезать страницы.,Реализуйте разные макеты,Например, поместите видеоэкран на задний план.,Можно добавить текстовое описание и дизайн пользовательского интерфейса.,Можно добиться эффекта новостной студии.

Есть другой способ,Стриминг сервераплан,То есть преобразовать каждый поток RTC в поток RTMP.,Затем используйте командную строку FFmpeg для объединения двух потоков:

Язык кода:javascript
копировать
ffmpeg -f flv -i rtmp://your-server-ip/live/stream-a -f flv -i rtmp://your-server-ip/live/stream-b \
     -filter_complex "[1:v]scale=w=96:h=72[ckout];[0:v][ckout]overlay=x=W-w-10:y=H-h-10[out]" -map "[out]" \
     -c:v libx264 -profile:v high -preset medium \
     -filter_complex amix -c:a aac \
     -f flv -y rtmp://your-server-ip/live/merge

Этот метод сложнее, чем OBS, но он позволяет напрямую преобразовывать локальный RTMP-поток на сервере, а для запуска этой команды можно использовать программу, что полезно для реализации этой возможности в продуктах.

С точки зрения потоковой обработки это решение:

Язык кода:javascript
копировать
StreamA ----WebRTC-----> SRS ----RTMP---+
                                        +--> FFmpeg ---RTMP--> прямая трансляция
StreamB ----WebRTC-----> SRS ----RTMP---+ 

С технической точки зрения вполне возможно напрямую микшировать потоки RTC. Обычно это называется режимом MCU (SRS — это режим SFU):

Язык кода:javascript
копировать
StreamA ----WebRTC-----> SRS ----RTC---+
                                        +--> MCU ---RTMP--> прямая трансляция
StreamB ----WebRTC-----> SRS ----RTC---+ 

Это решение устраняет промежуточный процесс RTMP и является более эффективным. Оно также может использовать преимущества алгоритма перегрузки RTC и другие преимущества для обеспечения развертывания SFU и MCU в нескольких машинных залах.

Примечание. В настоящее время платформы конференций используют эту модель MCU для реализации смешанной потоковой передачи. Информацию о проектах с открытым исходным кодом см. в OWT [25].

Step 4: Scale Out by Cloud Service

SaaS (Video Account и Tencent Conference) не имеет порога, но недостаточно гибок. Решения с открытым исходным кодом (SRS, OBS, WebRTC и FFmpeg) очень гибки, но требуют построения всей системы, особенно крупномасштабной дистрибьюторской сети, которая не может этого сделать. построят за день-два.

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

Мы выбираем Tencent Cloud «Xiao Live Broadcast» [26]. Приложение Xiao Live — это комплексное решение для прямой онлайн-трансляции с открытым исходным кодом. Оно создано на основе облачной службы прямой трансляции и обмена мгновенными сообщениями (IM) и использует облачные функции (бессерверные). для обеспечения стандарта. Фоновая служба может реализовывать такие функции, как вход в систему, регистрация, трансляция, список комнат, взаимодействие Lianmai, текстовое взаимодействие и заграждающие сообщения.

После активации службы прямой трансляции Tencent Cloud нажмите Live Broadcast SDK. > Управление лицензиями [27], создайте новую тестовую лицензию, информация следующая:

  • • License URL: https://license.vod2.myqcloud.com/license/v2/xxx/v_cube.license
  • • License Key: xxxxxxxxxxxxxxx

Затем нажмите «Управление Lianmai». > Приложение Lianmai [28], создайте новое приложение Lianmai, информация следующая:

  • • SDKAppID: 1400xxxxxxx
  • • SecretKey (ключ или секретный ключ): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

затем,Заявление в Лианмае[29],выбиратьСтраница конфигурации просмотра CDN > Обходной толчок > Глобальный автоматический обход,Это позволитRTCпотокпреобразован вRTMPпрямая трансляцияпоток。

Загрузите код клиента:

Язык кода:javascript
копировать
git clone https://github.com/tencentyun/XiaoZhiBo

На примере iOS установите зависимости и откройте проект iOS:

Язык кода:javascript
копировать
cd XiaoZhiBo/iOS/APP
pod install
open XiaoZhiBoApp.xcworkspace

Примечание. Подробную информацию о командах и системе Android см. в разделе «Запуск приложения Small Live»[30].

открыть файлXiaoZhiBo/iOS/APP/Debug/GenerateGlobalConfig.swift,Установите параметры:

  • • LICENSEURL по умолчанию имеет значение PLACEHOLDER. Установите для него фактическую информацию об URL-адресе лицензии.
  • • LICENSEURLKEY по умолчанию имеет значение PLACEHOLDER, установите для него фактическую информацию о лицензионном ключе.
  • • SDKAPPID по умолчанию имеет значение PLACEHOLDER, установите для него фактический SDKAppID.
  • • SECRETKEY по умолчанию имеет значение PLACEHOLDER, установите для него фактическую информацию о ключе.
  • • По умолчанию PLAY_DOMAIN имеет значение PLACEHOLDER. Установите его как фактическое имя домена запроса.

Note: вPLAY_DOMAINто естьпрямая трансляциядоменное имя воспроизведения,Можно найти в Облачный прямой эфир > Настройте имя домена воспроизведения в управлении доменными именами [31].

Чтобы изменить проектBundle identifierПоля License Имя пакета, соответствующее информации. Соединять iOS устройство, скомпилируйте и запустите.

Conclusion

Благодаря прямой трансляции мы узнали о полноканальном принципе прямой трансляции, построении платформы прямой трансляции, принципе вызовов WebRTC, построении вызовов WebRTC для реализации непрерывной потоковой передачи, а также различных технических решениях для преобразования прямой трансляции в прямую трансляцию. потоковая передача. Кроме того, мы также научились использовать инструменты SaaS и облачные платформы PaaS для реализации потокового вещания в реальном времени и быстрого применения его в онлайн-бизнесе.

Справочная ссылка

[1] Облачная СРС: https://ossrs.net/lts/zh-cn/blog/SRS-Cloud-Tutorial [2] OBS: https://obsproject.com/ [3] Номер видео: https://channels.weixin.qq.com/platform/live/liveBuild [4] Станция Б: https://link.bilibili.com/p/center/index#/my-room/start-live [5] OBS: https://obsproject.com/ [6] Облачная СРС: https://ossrs.net/lts/zh-cn/blog/SRS-Cloud-Tutorial [7] Видеоурок: https://www.bilibili.com/video/BV1844y1L7dL/ [8] SRS: https://github.com/ossrs/srs#usage [9] VLC: https://www.videolan.org/ [10] SrsPlayer: https://ossrs.net/players/srs_player.html [11] Связь: https://ossrs.net/lts/zh-cn/blog/WordPress-Plugin [12] ijkplayer: https://github.com/bilibili/ijkplayer [13] SrsPlayer: https://wordpress.org/plugins/srs-player/ [14] Отображение прямой трансляции FLV: https://wp.ossrs.net/live-demo-flv/ [15] Кластер SRS: https://github.com/ossrs/srs/wiki/v4_CN_Home#cluster-guides [16] Облачная СРС: https://ossrs.net/lts/zh-cn/blog/SRS-Cloud-Tutorial [17] Видеоурок: https://www.bilibili.com/video/BV1844y1L7dL/ [18] SRS: https://github.com/ossrs/srs#usage [19] Как настроить HTTPS: https://ossrs.net/lts/zh-cn/blog/SRS-Cloud-HTTPS [20] Связь: https://ossrs.net/lts/zh-cn/blog/WordPress-Plugin [21] SrsPlayer: https://wordpress.org/plugins/srs-player/ [22] WebRTC: привязка страницы A: https://wp.ossrs.net/webrtc-hosta/ [23] WebRTC: страница привязки B: https://wp.ossrs.net/webrtc-hostb/ [24] WebRTC: страница привязки B: https://wp.ossrs.net/webrtc-mergeab/ [25] OWT: https://github.com/open-webrtc-toolkit/owt-server [26] Tencent Cloud «Маленькая прямая трансляция»: https://cloud.tencent.com/document/product/454/38625 [27] Живой SDK > Управление лицензиями: https://console.cloud.tencent.com/live/license [28] Руководство Лианмай > Приложение Лианмай: https://console.cloud.tencent.com/live/micro/appmanage [29] Приложение Лианмай: https://console.cloud.tencent.com/live/micro/appmanage [30] Запустите небольшое приложение для прямой трансляции: https://cloud.tencent.com/document/product/454/38625#.E6.AD.A5.E9.AA.A42.EF.BC.9A.E8.BF.90.E8.A1.8C.E2.80.9C.E5.B0.8F.E7.9B.B4.E6.92.AD.E2.80.9Dapp [31] Облачный прямой эфир > Управление доменным именем: https://console.cloud.tencent.com/live/domainmanage

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода