Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问rtsp或rtmp拉流后可以通过hls播地址放吗 #98

Open
Johonnyr opened this issue Sep 13, 2023 · 11 comments
Open

请问rtsp或rtmp拉流后可以通过hls播地址放吗 #98

Johonnyr opened this issue Sep 13, 2023 · 11 comments

Comments

@Johonnyr
Copy link

开启了hls插件,发现rtsp或rtmp拉流后,flv和fmp4可以正常播放,但是hls播放会超时,请问是否是设置的不对,还是本身不支持这样操作呢

@langhuihui
Copy link
Owner

本身支持这样的操作的,看一下日志显示什么

@Johonnyr
Copy link
Author

13:40:43 INFO jump {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:55540", "轨道": "h264", "跳过序列号": 50, "跳过时间戳": "2m35.427393856s"}
13:40:43 INFO jump {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:55540", "轨道": "pcma", "跳过序列号": 51, "跳过时间戳": "2m35.468393856s"}
13:40:47 INFO 播放停止 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:55540", "error": "context canceled"}
13:40:47 INFO 订阅者-1 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:55540", "remains": 0}
13:42:26 INFO 订阅 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866"}
13:42:26 INFO 轨道+1 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "名称": "pcma"}
13:42:26 INFO 轨道+1 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "名称": "h264"}
13:42:26 INFO 订阅者+1 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "remains": 1}
13:42:26 INFO 阻塞式播放 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "subType": 0}
13:42:26 INFO 开始读取 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "轨道": "h264", "mode": 0}
13:42:26 INFO 第一帧已读取 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "轨道": "h264", "第一帧时间戳": "4m18.576393856s", "第一帧序列号": 6350}
13:42:26 INFO 开始读取 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "轨道": "pcma", "mode": 0}
13:42:26 INFO 第一帧已读取 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "轨道": "pcma", "第一帧时间戳": "4m18.576393856s", "第一帧序列号": 6339}
13:42:26 INFO jump {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "轨道": "h264", "跳过序列号": 50, "跳过时间戳": "4m20.213393856s"}
13:42:26 INFO jump {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "轨道": "pcma", "跳过序列号": 51, "跳过时间戳": "4m20.216393856s"}
13:42:31 INFO 播放停止 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "error": "context canceled"}
13:42:31 INFO 订阅者-1 {"流": "live/192168164", "类型": "Fmp4Subscriber", "ID": "192.168.1.2:55866", "remains": 0}
13:42:58 INFO 订阅 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402120"}
13:42:58 INFO 订阅者+1 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402120", "remains": 1}
13:42:59 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}

大佬方便的时候可以看下,hls播放时只是提示等待超时

@Johonnyr
Copy link
Author

llhls:
enable: true
hls:
enable: true
monitor:
enable: false

这里是config配置,然后播放地址格式如下,格式应该是对的,自带的Jessibuca和vlc播放hls都不行:
http://192.168.1.2:8887/hdl/live/192168164.flv
http://192.168.1.2:8887/fmp4/live/192168164.mp4
http://192.168.1.2:8887/hls/live/192168164.m3u8

@langhuihui
Copy link
Owner

hls对 pcma 支持的不好,你先等一下看看,因为 hls 需要生成 ts 文件,需要时间

@Johonnyr
Copy link
Author

好的,请问大概需要多久啊,距我上面回复的时候,本地一直在pull 一个rtsp流,现在使用hls仍然无法播放

13:57:30 INFO 订阅者+1 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "remains": 1}
13:57:30 INFO 阻塞式播放 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "subType": 2}
13:57:30 INFO 开始读取 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "轨道": "h264", "mode": 0}
13:57:30 INFO 第一帧已读取 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "轨道": "h264", "第一帧时间戳": "19m23.065393856s", "第一帧序列号": 29000}
13:57:30 INFO 开始读取 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "轨道": "pcma", "mode": 0}
13:57:30 INFO 第一帧已读取 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "轨道": "pcma", "第一帧时间戳": "19m23.065393856s", "第一帧序列号": 28954}
13:57:31 INFO jump {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "轨道": "h264", "跳过序列号": 50, "跳过时间戳": "19m24.183393856s"}
13:57:31 INFO jump {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "轨道": "pcma", "跳过序列号": 48, "跳过时间戳": "19m24.158393856s"}
13:59:43 INFO 播放停止 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "error": "context canceled"}
13:59:43 INFO 订阅者-1 {"流": "live/192168164", "类型": "HDLSubscriber", "ID": "192.168.1.2:35694", "remains": 0}
14:23:54 INFO 订阅 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402888"}
14:23:54 INFO 订阅者+1 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402888", "remains": 1}
14:23:55 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}
14:23:55 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}
14:24:10 INFO 停止 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402888", "reason": "no reader after 15s"}
14:24:11 INFO 订阅者-1 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402888", "remains": 0}
14:24:16 INFO 订阅 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402504"}
14:24:16 INFO 订阅者+1 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402504", "remains": 1}
14:24:17 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}
14:24:17 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}
14:24:32 INFO 停止 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402504", "reason": "no reader after 15s"}
14:24:36 INFO 订阅者-1 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824648402504", "remains": 0}
14:25:30 INFO 订阅 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824641414728"}
14:25:30 INFO 订阅者+1 {"流": "live/192168164", "类型": "HLSWriter", "ID": "824641414728", "remains": 1}
14:25:31 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}
14:25:31 INFO HLS 等待超时 {"fileName": "live/192168164/h264.m3u8", "超时": "10s"}

@langhuihui
Copy link
Owner

你用 aac 音频试试,或者禁用音频

@Johonnyr
Copy link
Author

好的,谢谢大佬,我然后试一下。对了,顺便请教一下,如果摄像头本身有多个通道,monibuca拉取rtsp时地址可以只填写到ip和端口吗,还是每一个通道的地址需要单独拉取

@langhuihui
Copy link
Owner

都要单独的,要遵循 rtsp 协议标准

@Johonnyr
Copy link
Author

如果是这样的话,比较好奇实际使用时在接入一个未知的摄像头时,是如何确定摄像头有几个通道的呢?如果让用户手动去填感觉比较麻烦,通道数和地址要是能直接在拉流后通过某种方式获取到就好了

@langhuihui
Copy link
Owner

如何获取到呢?

@Johonnyr
Copy link
Author

嗯,我本身不是很了解流协议,如果协议本身可以在交互过程中,可以知道上面所述的通道数、通道地址等信息,然后monibuca可以通过接口将这些信息交给开发者,用户使用时只要输入IP、端口即可,应该比较方便使用。纯从使用角度说一些想法,可能比较愚蠢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants