Я работаю над веб-приложением с 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
})
}
Результат в моем окне:
Что я пропустил, чтобы заставить его работать и получить реальный поток видео?
Спасибо за помощь
РЕДАКТИРОВАТЬ: Моя первая команда 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/
Это все еще не работает, но холст больше не черный