Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163

Как использовать встроенный в проект node.js файл как источник html5 video

27.02.2024, 11:43. Показов 678. Ответов 8

Студворк — интернет-сервис помощи студентам
Уважаемые Гуру!
Есть пример кода использования html5 video, в котором источник задаётся в виде:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
export default function App() {
  return (
    <div>
      <VideoPlayer
        src={
          "https://res.cloudinary.com/dannykeane/video/upload/sp_full_hd/q_80:qmax_90,ac_none/v1/dk-memoji-dark.m3u8"
        }
      />
    </div>
  );
}
Если у меня есть файл .mp4 (или .m3u8) и я хочу попробовать заменить src на свой. Могу ли я просто положить их в какой-нибудь каталог node.js проекта , например, "public" и каким то образом указать их в качестве src. Или необходимо сделать api , которое возвращает stream с указанными файлами?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2024, 11:43
Ответы с готовыми решениями:

Как использовать в Crystal Reports источник как XML файл
Никак толком не могу настроить связь для вывода отчета из XML-файла. Как это правильно делать ? Добавлено через 3 часа 59 минут ...

Как присоединить m3u8 к тегу video из HTML5 ?
Есть источник : http://cdnmg.secure.live.rtr-vesti.ru/hls/russia_24/playlist_3.m3u8 Этот URL нужно записать в файл 1.m3u и запустить...

Не подключается файл в теге video HTML5
Не проигрывается video в Mozilla В Opera и Chrome этот код работает: &lt;div class=&quot;video-js-box&quot;&gt; &lt;video...

8
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,133
28.02.2024, 05:54
АТерентьев, нужно организовать веб-приложение на базе node. Видос положить в папку раздачи статики (где это определяется веб-фреймворком, на котором будет сделано приложение). Можно и руками, через stream отдавать, но я не вижу смысла.

Ещё, нужно будет организовать домен для этого приложения и TLS-сертификат.
1
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163
01.03.2024, 23:20  [ТС]
https://codesandbox.io/p/sandb... 2Findex.js - это пример, который я повторил . Теперь хочу в качестве источника для плейера подсунуть свой файл .m3u8. Я пытаюсь понять могу ли я положить этот файл внутрь проекта и как нибудь имитировать stream для плейера.

Добавлено через 37 минут
Я хотел бы понять как можно решить такую задачу. Есть много видеокамер. например, на дорогах , которые выдают stream в формате rtsp или http. С помощью ffmpeg из такого потока создаётся файл .m3u8, его и надо показать в <video ...> html 5. Я могу их просматривать в VLC. Тема для меня новая, только между делом смотрю.
План такой - попробую используя react и nodejs посмотреть это видео в формате .m3u8.
Затем в реальном проекте поставлю специальный сервер c Линуксом , который будет преобразовывать стримы с видеокамер в формат .m3u8 и служить источником для сайта, который по клику на камере будет показывать видео ситуации на дорожном участке, где стоит камера
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,133
02.03.2024, 05:46
Цитата Сообщение от АТерентьев Посмотреть сообщение
и как нибудь имитировать stream для плейера.
Любая имитация стрима будет являться полноценным стримом.

Цитата Сообщение от АТерентьев Посмотреть сообщение
Я хотел бы понять как можно решить такую задачу
Я выше уже озвучил.
1
 Аватар для voraa
1249 / 1159 / 178
Регистрация: 21.01.2024
Сообщений: 5,392
02.03.2024, 22:46
Цитата Сообщение от АТерентьев Посмотреть сообщение
.m3u8, его и надо показать в <video ...> html 5
А браузеры поддерживают этот формат?
0
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163
03.03.2024, 19:31  [ТС]
Да, поддерживают https://github.com/videojs/http-streaming ,
https://github.com/videojs/video.js. Там есть примеры.
Понятно, как статические файлы отдавать в ASP.NET, буду пробовать
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,133
04.03.2024, 10:40
АТерентьев, если отдавать статику, без всякой логики, то тут даже ASP.NET избыточен. Обычный веб-сервер можно взять.
1
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163
04.03.2024, 15:18  [ТС]
У меня все проекты рабочие сейчас на Blazor. Так что вставить несколько строк для отдачи статических файлов не заняло много времени. Но несколько строк , без которых не запускалось :

1. Надо разрешить cors:

builder.Services.AddCors(options =>
{
options.AddPolicy("NewPolicy", builder =>
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
...
app.UseCors("NewPolicy");

2. Не знаю обязательно ли, увидел код и добавил следующее:

var provider = new FileExtensionContentTypeProvider();
// Add new mappings
provider.Mappings[".m3u8"] = "application/x-mpegURL";
provider.Mappings[".ts"] = "video/MP2T";

3. Ну и разрешил брать статику из каталога "D:/monitorFiles/HLS", в который из ffmpeg пишутся .m3u8 и *.ts файлы


app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = provider,
FileProvider = new PhysicalFileProvider("D:/monitorFiles/HLS"),
RequestPath = "/HLS"
});

В Blazor не получилось сразу показывать видео, поэтому решил попробовать в node.js и React.
В приведенном выше примере строку подключения заменил на следующий код :

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import React from "react";
import "./styles.css";
import VideoPlayer from "./components/Video";
 
export default function App() {
  return (
    <div>
      <VideoPlayer
        src={
          "http://localhost:5084/HLS/test.m3u8"
        }
      />
    </div>
  );
}
localhost:5084 - это адрес запуска в отладчике. "HLS" это идентификатор хранилища статики ( задаётся выше с помощью RequestPath = "/HLS")

Спасибо за помощь!!!

P.S. Сейчас буду смотреть как сделать специальный сервер для стриминга. Думаю поставить либо Astra-Linux либо Ubuntu. Либо придётся как всегда пока всё на одном сервере делать, из-за недостатка ресурсов)
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,133
04.03.2024, 15:31
Цитата Сообщение от АТерентьев Посмотреть сообщение
Думаю поставить либо Astra-Linux либо Ubuntu.
С астрой убедись, что лицензию не нарушаешь. Мало ли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2024, 15:31
Помогаю со студенческими работами здесь

Как вывести текст на теге <video>, пока источник этого виде не определен
Добрый вечер! На веб-странице программным образом (JS) создается тег &lt;video&gt;. Создание происходит в 2 этапа: 1) после 1-ого этапа в...

Как в HTML5 использовать DIV вместо IFRAME?
Надо на одной странице отобразить несколько страниц в разных частях в HTML5. Можно привести пример, если надо в top поместить одну...

XE7 как использовать встроенный компонент HotKey1 для горячих клавиш?
Здравствуйте кто знает как использовать компонент HotKey1? пример мне надо по нажатию клавиш Alt+A или любой другой измененный в...

Как использовать th:each для передачи строки в код JavaScript ,встроенный в html страницу
Я начинаю с создания тестового списка со ссылками на изображение. Затем я передаю его в модель под именем _links ...

Семантические теги, как правильно использовать, а также их значение? HTML5
Не совсем понимаю значение элементов: &lt;article&gt;&lt;/article&gt; &lt;section&gt;&lt;/section&gt; &lt;aside&gt;&lt;/aside&gt; Сколько по сайтам облазил — никак не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru