识别本地(LAN)与实时URL FFmpeg

识别本地(LAN)与实时URL FFmpeg,ffmpeg,Ffmpeg,您好,我正在iOS应用程序中使用FFmpeg进行流本地和实时URL。 有没有办法确定我打开的URL是本地的还是实时的。 实际上,我想相应地以avformat\u open\u输入指定rtsp\u传输。 如果我没有指定传输,默认情况下它将使用UDP。 在UPD中,我正在实时流中丢失数据包。所以我想为实时指定传输TCP,为本地url指定默认值 找到了解决办法。我不能确定URL是实时的或在lan上的,但我可以确定URL支持协议与否。 当您调用avformat_open_input来打开URL时,如果给

您好,我正在iOS应用程序中使用FFmpeg进行流本地和实时URL。 有没有办法确定我打开的URL是本地的还是实时的。 实际上,我想相应地以avformat\u open\u输入指定rtsp\u传输。 如果我没有指定传输,默认情况下它将使用UDP。
在UPD中,我正在实时流中丢失数据包。所以我想为实时指定传输TCP,为本地url指定默认值

找到了解决办法。我不能确定URL是实时的或在lan上的,但我可以确定URL支持协议与否。 当您调用avformat_open_input来打开URL时,如果给定的协议不受支持,它将返回-43。
在我的例子中,我是用TCP打开URL的,所以它可以很好地用于实时URL,但对于LAN,我得到了错误代码-43,这是不受支持的协议。每当我收到关于不支持的协议的任何错误代码时,我都会用不同的协议再次打开URL

你是如何定义本地和生活的?这两件事并不是相互排斥的。local是指托管在本地服务器上的视频文件,或者换句话说,本地主机上的文件,可以在LAN中访问,而无需使用Internet。仅从URL无法知道您的LAN上是否有服务器。