我的代码如下
av_open_input_file("rtsp://.....);
while(av_read_packet() >= 0) {
// do something with the packet
}
问题是我只能接收100-200个数据包,然后av_read_packet返回EOF错误。所以我必须重新连接并再次开始获取帧。
我想知道我是否可以为av_open_input_file()
设置一些选项(或者可能使用其他API),以便连接不会经常丢失。
谢谢
答案 0 :(得分:0)
由于您使用RTSP,您可能正在使用RTP。这是通过UDP还是TCP?可能发生的一件事是您的RTSP会话超时。如果FFMPEG没有发送RTCP接收器报告,RTSP服务器可能正在终止连接?这是所有猜测,但使用诸如wireshark之类的网络嗅探器来查看正在发生的事情。