Реализовать идеи
- Загрузите программу obs и запишите видео.
- Запускаем сервис через node-media-server и проталкиваем поток на сервер в obs
- Для достижения воспроизведения узла-медиа-сервера в узле-медиа-сервере в сочетании с видео тегом HTML5.
приступить к реализации
использование наблюдений
Пожалуйста, перейдите, чтобы загрузить obsОфициальный сайт, для загрузки доступны три платформенные версии windows, mac, linux Я использую здесь версию для Mac, другие версии должны быть похожими
- Сначала вам нужно создать новую сценуЗдесь можно использовать множество сценариев, я буду использовать захват экрана, чтобы продемонстрировать...Вы можете назвать сцену, я просто использую имя по умолчанию, нажмите «ОК».
Нажмите OK еще раз, сцена успешно создана, перетащите сцену, чтобы увеличить сцену, и масштабируйте, чтобы покрыть черный фон.
- push поток Суть видео фактически в вырезанной картинке.Нам нужно поместить эти картинки в одно место,а потом фронтенд сможет их прочитать с этого места и отобразить.Поэтому нам нужно перед этим открыть сервис.Получить исходный адрес видео в качестве внешнего интерфейса
служба запуска узла-медиа-сервера
- Создайте новую пустую папку и выполните
npm init
, После ввода соответствующей информации по запросу загрузите node-media-server
npm install node-media-server --save
- Создайте новый файл записи index.js
const NodeMediaServer = require('node-media-server');
const config = {
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 60,
ping_timeout: 30
},
http: {
port: 8000,
allow_origin: '*'
}
};
var nms = new NodeMediaServer(config)
nms.run();
- а затем выполнить в командной строке
node index.js
Если вы видите следующее приглашение, это означает, что мы успешно запустили службу node-media-server.
flv.js
flv.js — проект с открытым исходным кодом от Bilibli. Он анализирует FLV-файлы и передает их собственным тегам HTML5 Video для воспроизведения аудио- и видеоданных, что позволяет браузерам воспроизводить FLV без Flash. Для конкретного введения, пожалуйста, погуглите сами и продолжите проект прямо сейчас.
- Создайте новый файл index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>直播</title>
</head>
<body>
<script src="https://cdn.bootcss.com/flv.js/1.4.0/flv.min.js"></script>
<video id="videoElement" width="100%" controls></video>
<script>
if (flvjs.isSupported()) {
var videoElement = document.getElementById('videoElement');
var flvPlayer = flvjs.createPlayer({
type: 'flv',
url: 'http://localhost:8000/live/hello.flv'
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
flvPlayer.play();
}
</script>
</body>
</html>
Здесь есть ямка, наверное из-за мака, видео по умолчанию не воспроизводится автоматически, и я не добавлял элементы управления в тег видео в начале, поэтому веб-страница всегда отображала статичную картинку, но я случайно обнаружил, что это было Видео приостановлено =_=!!
Можешь записать~
- Нажмите настройки в obs, войдите на страницу настроек, нажмите на поток, если это локальная прямая трансляция, выберите пользовательский сервер потокового мультимедиа для типа потока, введите URL-адрес, как показано на рисунке, и введите имя параметра index.html для имени потока. Этот проект
hello
Мы также можем играть на платформах прямых трансляций, таких как bilibili.Заполните здесь ссылку на прямую трансляцию и имя на bilibili.
- Нажмите кнопку запуска obs
В это время дважды щелкните, чтобы открыть index.html в браузере, чтобы увидеть прямую трансляцию. Не забудьте нажать кнопку запуска под видео~