Не удается показать поток RTSP с Angular - PullRequest
0 голосов
/ 05 февраля 2020

Я работаю над веб-приложением с angular, где мне нужно показать поток rtsp внутри моего окна. Я использую проигрыватель JSMpeg, связанный с этим topi c: Невозможно показать потоковую RTSP-камеру с Angular.

Для своей веб-сокеты я использовал библиотеку websocket узла и я запустил это так в моем cmd: node websocket-relay.js supersecret 8081 8082

Он обнаруживает каждое соединение, которое я на нем устанавливаю.

Затем для части преобразования я использовал FFMPEG, где я преобразовал формат h264 в mpegts (mpegvideo1 дал мне ошибку) Я запускаю его так:

ffmpeg -i "rtsp://myurl/media.smp" -vcodec h264 -f mpegts -max_muxing_queue_size 9999 -b 800k -r 30 http://localhost:8081/supersecret/640/480/

Для части angular у меня есть это:

@ViewChild('streaming', {static: true}) streamingcanvas: ElementRef; 

constructor( ... ) { }

ngOnInit() {
    ....
    let player = new JSMpeg.Player('ws://localhost:8081/supersecret', {
        canvas: this.streamingcanvas, autoplay: true, audio: false, loop: true
      })
}

Результат в моем окне: Nothing happen in my canvas even if the websocket detect a connexion

Что я пропустил, чтобы заставить его работать и получить реальный поток видео?

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

РЕДАКТИРОВАТЬ: Моя первая команда ffmpeg была неправильной, было отправлено только аудио, теперь я получил это:

ffmpeg -i "rtsp://myurl/media.smp" -vcodec h264 -f mpegts -codec:v mpeg1video -s 640x360 -b: 700k -r 25 -bf 0 -codec:a mp2 -ar 44100 -ac 1 -b:a 64k -max_muxing_queue_size 9999 http://localhost:8081/supersecret/640/360/

Это все еще не работает, но холст больше не черный

1 Ответ

0 голосов
/ 15 февраля 2020
Usage:
node websocket-relay.js <secret> [<stream-port> <websocket-port>]

Попробуйте ws: // localhost: 8082 / supersecret

...