легкийвыполнитьсуществоватьwebстраница Играйте прямо вrtspвидеопоток
Раньше я учился в web
Играйте прямо в rtsp
видеопотокчас,Написал статью:【Внешний интерфейс】Как воспроизводить видеопоток rtsp и rtmp。читатьЭта статьяЭто будет большим подспорьем в вашей учебе。существоватьстатьясередина Я провел детальный анализ и интерпретацию,и дает в заключение:
【Если ты хочешь быть в web
Играйте в реальном времени rtsp
Потоковое видео: передача потока с помощью внутреннего перекодирования будет необходимой операцией. 】
Я использую node.js
Функция восстановления имеет функцию транскодирования и потоковой передачи и упаковывает ее в rtsp2web
Опубликовано в npm
начальство.
rtsp2web это зависимость ffmpeg
,может в режиме реального времени передавать входящие rtsp
Видеопоток транскодируется в данные изображения и передается ws
Умные инструменты выдвинуты на первый план.
Передняя страница с помощью jsmpeg.js Вы можете легко в это играть~
и rtsp2web
Он также имеет следующие особенности:
rtsp
видео Исходное время,Существует только один процесс перекодирования и потоковой передачи.,Не так много.использовать rtsp2web
это просто; вы просто:
Во-первых, вам необходимо убедиться, что оно установлено на вашем компьютере. ffmpeg
。 я положил свой windows
использовать на 64-битных компьютерах ffmpeg
Загружено вБиблиотека ресурсовсередина,Если у вас его нет на вашем компьютере,ты можешьНажмите, чтобы скачатьИ распаковать и установить。(Ты не можешь найти меня)
После успешной установки,Вы повторно открываете терминал командной строки,входить:ffmpeg -h
,Если это можно вывести ffmpeg
Если появится соответствующая информация, это докажет, что на вашем компьютере установлена ffmpeg
успех.
создаватьпустой каталог(Имя каталога не может бытьrtsp2web
),После входа в каталог,Выполните последовательно следующие команды:
npm init --yes
npm i rtsp2web
создавать index.js
,Содержание следующее:
// index.js
const RTSP2web = require('rtsp2web')
// Номер порта, занимаемый длинным соединением на стороне сервера, можно настроить;
const port = 9999
// разрешение
const videoSize = '1920x1080'
new RTSP2web({
port,
videoSize
})
Запустить команду: node index.js
Вот и все.
На данный момент ваша служба транскодирования видео уже запущена.
параметр | Объяснение |
---|---|
port | Номер порта, занимаемый службой перекодирования (тип: Номер). Значение по умолчанию: 9999. |
videoSize | Разрешение камеры (тип: строка) Значение по умолчанию: «1920×1080». Если в него играютвидео Хуапин,мозаика,Такие проблемы, как неправильные пропорции и т. д.,Вы можете настроить этот параметр |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no,viewport-fit=cover">
<script src="https://jsmpeg.com/jsmpeg.min.js" charset="utf-8"></script>
<title>игратьrtsp</title>
</head>
<body>
<canvas id="canvas" style="width: 600px; height: 600px;"></canvas>
</body>
<script> var rtsp = 'rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4' window.onload = () => {
// Обработайте адрес потока rtspvideo с помощью btoa new JSMpeg.Player("ws://localhost:9999/rtsp?url="+btoa(rtsp), {
canvas: document.getElementById("canvas") }) } </script>
</html>
Является ли ваш интерфейс родным html
Все еще там React、Vue В других фреймворках работать очень просто.
1. Сначала вам необходимо создать глобальный шаблон. html
Введение в заголовок файла jsmpeg.js
или jsmpeg.min.js
;
2. Создатель canvas
Контейнер, используемый для воспроизведения видео;
3. Пример воспроизведения источника видео:
var rtsp = 'rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4'
// Обработайте адрес потока rtspvideo с помощью btoa
new JSMpeg.Player("ws://localhost:9999/rtsp?url="+btoa(rtsp), {
canvas: document.getElementById("canvas")
})
JSMpeg.Player
Первый параметр — это смонтированная ссылка для транскодирования. 'ws://localhost:9999/rtsp?url=' + btoa(rtsp)
; Второй параметр — это объект, а свойства объекта содержат canvas
。
node install –unsafe-perm
Какова его функция?
то есть npm
По соображениям безопасности не поддерживается root
пользователь запускается, даже если вы используете root
Запуск от имени пользователя,npm
автоматически преобразуется в nobody
запускаться от имени пользователя, а у этого пользователя почти нет разрешений. В этом случае, если в вашем скрипте есть какие-то операции, требующие разрешений, например, запись файлов (особенно запись /root/.node-gyp
),Он рухнет。
Чтобы этого избежать, либо следуйте npm
По правилам для запуска используется специально построенный npm
пользователь с высоким уровнем привилегий или добавить; –unsafe-perm
параметр, чтобы вы не переключались на nobody
, какой бы пользователь ни использовался при запуске, это один и тот же пользователь, даже если он root
。
Часто устанавливается node-sass
Легко возникнуть проблема невозможности доступа к каталогу создателя из-за недостаточных разрешений.
Официальный документ сайта: https://docs.npmjs.com/misc/config#unsafe-perm
。
—————————— [Конец текста]——————————
В конце написано: Соглашение лучше конфигурации — принцип простоты в разработке программного обеспечения.
----------【над】----------
мой: Персональный сайт: https://neveryu.github.io/neveryu/ Github: https://github.com/Neveryu Сина Вейбо: https://weibo.com/Neveryu
Чтобы получить дополнительные учебные ресурсы, подпишитесь на мою страницу Sina Weibo... хорошо?
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/183623.html Исходная ссылка: https://javaforall.cn