额,纠结了一段时间了这东西,都说ffmpeg支持rtsp,只要把rtsp地址扔给avformat_input_file就好,可返回值总是-5,总打不开,烦躁。趁着元旦休息,又是自己过,耐下性子,一步步深入,发现在socket初始化,即调用socket(int ,int,int)总是返回-1(失败),恍然醒悟。终于解决了,在此分享下这个比较低级、白痴的错误的解决方法。
打开Androidmanifest.xml,看到这个文件我想已经有人明白了,是的,你要播rtsp流需要网络吧,用到网络需要权限吧。 在合适的位置加上下面这段代码:
<uses-permission android:name="android.permission.INTERNET" />
然后再用avformat_input_file打开rtsp地址,返回值就是0(正常)了。