Используйте Docker для монтирования Nginx-rtmp (распространение потоков в реальном времени с сервера) + FFmpeg (push-поток) + Vue.js в сочетании с Video.js (воспроизведение потока проигрывателя) для обеспечения сетевой трансляции в реальном времени.
Используйте Docker для монтирования Nginx-rtmp (распространение потоков в реальном времени с сервера) + FFmpeg (push-поток) + Vue.js в сочетании с Video.js (воспроизведение потока проигрывателя) для обеспечения сетевой трансляции в реальном времени.

как мы все знаем,В сфере живого видео,Существуют разные продавцы, предлагающие различные бизнес-решения.,Среди наиболее надежных поставщиков услуг — Alibaba.Облачный прямой эфир,Тенсент Облачный прямой эфир, а также платные услуги прямых трансляций Youpai Cloud и NetEase Cloud Services включают в себя программное и аппаратное оборудование, камеры, кодеры, серверы потокового мультимедиа и т. д. Однако его высокая стоимость и высокий порог входа отпугивают многих частных лиц и малый бизнес. В этой статье объясняется, как использовать nginx-rtmp для создания сервера прямой трансляции, сотрудничать с FFmpeg для передачи потока и использовать vue.js в качестве носителя. веб-страницу. js в качестве проигрывателя потоковой передачи для создания удобного решения для прямой онлайн-трансляции видео.

Процесс прямой видеотрансляции можно разделить на следующие этапы:

    коллекция —>иметь дело с—>Кодирование и упаковка—>Отправить на сервер—>Распространение потоковой передачи на сервере—>Стриминг игрока

Реализуйте отображение живых программ на терминале. Поскольку протокол передачи, который я здесь использую, — RTMP, можно использовать любой проигрыватель, поддерживающий протокол потоковой передачи RTMP. Здесь мы используем nginx.

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

Создание сервера прямой трансляции — долгий и сложный процесс, а его компиляция и настройка немного громоздки. К счастью, в Docker существует множество сред rtmp, скомпилированных и настроенных другими, поэтому вы можете использовать их напрямую. Из этого видно превосходство docker. Здесь используется библиотека alfg/nginx-rtmp.

Установить докер

Текущая стабильная версия — DockerToolbox-18.03.0-ce.exe. Просто нажмите, чтобы установить ее.

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

После установки докера загрузите образ nginx-rtmp и запустите службу, чтобы сопоставить порты 1945 и 8000.

Язык кода:javascript
копировать
docker pull alfg/nginx-rtmp
docker run -it -p 1935:1935 -p 8000:80 --rm alfg/nginx-rtmp

Получите доступ к порту хоста 8000, чтобы отобразить страницу приветствия nginx.

Затем используйте FFmpeg для выполнения потоковых операций.,ffmpegЧто это, пожалуйста, подвинься:Python3 использует ffmpeg для выполнения некоторых операций с видео.

Введите команду. Обратите внимание, что камера и микрофон должны соответствовать оборудованию компьютера. Кроме того, сервер потоковой передачи должен быть перенесен на только что развернутый nginx.

Язык кода:javascript
копировать
ffmpeg -f dshow -i video="VMware Virtual USB Video Device":audio="Microphone (High Definition Audio Device)" -tune:v zerolatency -f flv "rtmp://192.168.99.100:1935/stream/test"

После успешной отправки мы будем смотреть прямую трансляцию на веб-сайте. Здесь мы используем vue.js для создания внешнего сервиса и video.js для проигрывателя видеопотоков.

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

Язык кода:javascript
копировать
#Создать проект
vue init webpack-simple zhibo
cd zhibo
cnpm install vue-router save
cnpm install

#Установить компоненты прямой трансляции
cnpm install video.js
cnpm install aes-decrypter
cnpm install m3u8-parser
cnpm install mpd-parser
cnpm install mux.js
cnpm install url-toolkit
cnpm install videojs-contrib-hls

#hotstartproject
cnpm run dev

Создайте новый video.vue и добавьте код воспроизведения.

Язык кода:javascript
копировать
<template>
    <div>

    

      <video id="my-video" class="video-js vjs-default-skin" controls preload="auto" >
    <!-- Адрес прямой трансляции — это адрес воспроизведения, сопоставленный nginx. Обратите внимание, что для прямого потока используется суффикс m3u8. -->
    <source src="http://192.168.99.100:8000/live/test.m3u8" >
</video>

    </div>
  </template>
   
  <script>

import videojs from 'video.js'
import 'videojs-contrib-hls'


  export default {
    data () {
      return {
      
      }
    
    },
    mounted:function(){

      videojs('my-video', {
    bigPlayButton: true,
    textTrackDisplay: false,
    posterImage: true,
    errorDisplay: false,
    controlBar: true
}, function () {
    this.play()
})

    }
  }
  </script>
   
  <style>
  </style>

Наконец, привяжите компонент video.vue к маршруту vue.js, войдите в браузер и протестируйте прямую трансляцию.

Готово и заканчиваем

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