angular - 无法使用 Angular 显示 RTSP 流
问题描述
我正在开发一个有角度的网络应用程序,我需要在我的窗口中显示一个 rtsp 流。我正在使用与此主题相关的 JSMpeg 播放器:无法使用 Angular 显示实时摄像机 RTSP 流。
对于我的 websocket,我使用了节点 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/
对于角度部分,我有这个:
@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/
它仍然不起作用,但画布不再是黑色了
解决方案
Usage:
node websocket-relay.js <secret> [<stream-port> <websocket-port>]
试试 ws://localhost:8082/supersecret
推荐阅读
- javascript - 如何避免此并发计时器的显式 Promise 构造反模式应在承诺完成时重置?
- dependencies - 为什么 Jfrog Artifactory 对具有匿名读取权限的工件返回 401 未经授权?
- java - 无法实例化 [java.nio.HeapByteBuffer]:从 Mongo 检索时未找到默认构造函数
- android - 如何为我的 Android 应用程序创建凭据
- javascript - JavaScript - 将图像作为二进制数据发送到服务器
- java - Error creating bean with name 'liquibase' in Spring Boot App
- javascript - 在 NodeJS 模块内的此对象中找不到函数
- python - DRF - 覆盖 Serializer.update 以更新相关集
- sqlite - 编辑 SQLite3 数据库信息
- python - Python 3 中的 ModuleNotFoundError