前言
vlc作为rtsp客户端向自研的rtsp服务端请求实时数据。
问题
vlc接收10s实时数据后主动发送teardown命令断开连接。
排查
1)启动rtsp服务
2)进入vlc安装目录,通过命令行启动vlc,设置生成日志,命令如下:
vlc.exe --extraintf=http:logger --verbose=2 --file-logging --logfile=d:\vlc-log.txt
3)查看vlc-log.txt,关注下面一行:
...
live555 error: no data received in 10s, aborting
...
分析
流媒体只支持了视频。
修改
修改sdp中的媒体信息,删除音频相关信息。
# 修改前
"m=video 0 RTP/AVP 98\n"
"a=control:trackID=0\n"
"a=rtpmap:98 H264/90000\n"
"a=recvonly\n";
"m=audio 0 RTP/AVP 8\n"
"a=control:trackID=1\n"
"a=rtpmap:8 PCMA/8000\n"
"a=recvonly";
# 修改后
"m=video 0 RTP/AVP 98\n"
"a=control:trackID=0\n"
"a=rtpmap:98 H264/90000\n"
"a=recvonly\n";