-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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播放异常 #3377
Labels
Comments
听你的意思是 startSendRtp级联出现问题了,排查手段可以这样:
|
有可能是startSendRtp是udp模式 丢包了。不过听你的意思H264级联却没问题,猜测也可能是H265 ps打包有问题 |
rtmp本来就不支持265 vlc无法识别是正常的 |
那我怀疑 有没有可能是rtsp播放时 选择的udp模式 丢包了? |
我们这里排查下来与网络问题应该是没有关系,从日志以及抓包看均无丢包现象,我们怀疑可能是解码器写死了payload type的解析,没有根据服务器给的rtpmap去做正确的解码,在下级流媒体正常解码的rtsp交互中,服务器给出的payload type为98,在上级流媒体异常解码的rtsp交互中,服务器给出的payload type为96,为了做测试,我有没有什么办法能够让上级流媒体在回复DESCRIBE时携带rtpmap:98 H265/90000 ? |
打个补丁即可: Index: src/Rtsp/RtspMuxer.cpp
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/Rtsp/RtspMuxer.cpp b/src/Rtsp/RtspMuxer.cpp
--- a/src/Rtsp/RtspMuxer.cpp (revision 5a137f8b8ed3aafce7f05dd0b0291554738a14ae)
+++ b/src/Rtsp/RtspMuxer.cpp (date 1710836327713)
@@ -67,7 +67,7 @@
CHECK(!encoder);
// payload type 96以后则为动态pt
- Sdp::Ptr sdp = track->getSdp(96 + _index);
+ Sdp::Ptr sdp = track->getSdp(98 + _index);
if (!sdp) {
WarnL << "Unsupported codec: " << track->getCodecName();
return false; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
咨询的功能模块
咨询的具体内容和问题
可见图像右侧无法正常显示。
解码器播放正常,正常图像如下:
将摄像头输出的流设置为H264,则均正常(但不能这样做,业务需求必须是H265)
由于下级出来的流可以正常播放,因此我认为可能是zlm对接zlm的时候可能存在异常。两台zlm的配置如下,其中尝试过将rtp.videoMtuSize从1400修改为1500,rtsp.directProxy设置为0,均没有解决问题:
抓包文件如下,文件中已标明哪份为异常抓包哪份为正常抓包:
抓包文件.zip
注意事项
技术咨询前请先认真阅读readme, wiki,如有必要,您也可以同时搜索已经答复的issue,如果没找到答案才在此提issue
技术咨询不属于bug缺陷,要求用户先star(收藏)本项目,否则会直接关闭issue
The text was updated successfully, but these errors were encountered: