#javascript #html #video-streaming #gstreamer
#javascript #HTML #потоковое видео #gstreamer
Вопрос:
Я пытаюсь создать приложение, которое может использовать источник видео (может быть с веб-камеры или автономного видео) и транслировать его в режиме реального времени на веб-страницу. Мне удалось создать поток rtsp с помощью gstreamer, но я не могу получить этот поток на веб-странице без промежуточного шага, т. е. Преобразования потока в playlist.m3u8 с помощью hlssink или ffmpeg.
Я хочу, чтобы поток напрямую использовался веб-страницей. Кроме того, является ли использование vlc-плагина моим единственным вариантом?
Любая помощь будет высоко оценена.
Ответ №1:
RTSP не будет работать через браузер, потому что большинство браузеров не поддерживают прямую потоковую передачу RTP. Если по какой-либо причине адаптивные потоковые протоколы HTTP, такие как HLS, не удовлетворяют вашим требованиям (например, задержка недостаточно низкая), вы можете попробовать WebRTC, который, среди прочего, построен поверх secure RTP (SRTP). Возможно, он имеет более сложную настройку, чем RTSP-сервер, но в настоящее время поддерживается всеми основными браузерами. Вы можете проверить элемент webrtcbin для реализации GStreamer.
Ответ №2:
Не думаю, что это возможно, поскольку RTSP не поддерживается ни одним браузером напрямую, а поддержка плагинов была удалена большинством современных браузеров. Таким образом, единственным решением является преобразование из RTSP в некоторый поддерживаемый браузерами формат.
Ответ №3:
Спасибо за комментарии! Я смог выполнить эту работу, используя пример WebRTC от Gstreamer: https://gitlab.freedesktop.org/gstreamer/gst-examples/-/tree/master/webrtc .
Комментарии:
1. Просто чтобы уточнить, вам все еще нужен промежуточный шаг, если камера отправляет RTSP, тогда браузер может воспроизводить HLS и WebRTC, поэтому вам понадобится что-то для его преобразования. Gstreamer использует RTSP и WebRTC, поэтому он будет разговаривать с вашей камерой, а затем с вашим браузером, пока вы будете прыгать через обручи обмена SDP и обмена кандидатами ICE.