You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Flutter FijkPlayer播放RTSP流时出现连接拒绝错误求助

FijkPlayer播放RTSP流连接拒绝问题的解决方案

1. 补充Android网络权限配置

Android平台必须声明网络权限,且Android 9+需允许明文网络请求:

  • 在android/app/src/main/AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 在<application>标签内添加明文请求允许:
android:usesCleartextTraffic="true"

2. 配置RTSP专属播放选项

FijkPlayer默认配置可能不兼容部分RTSP服务器,需手动指定传输方式与超时参数:
修改initState方法:

@override
void initState() {
  super.initState();
  // 强制使用TCP传输,适配多数RTSP服务器
  player.setOption(FijkOption.categoryFormat, "rtsp_transport", "tcp");
  // 设置3秒超时(单位:微秒)
  player.setOption(FijkOption.categoryFormat, "stimeout", 3000000);
  player.setDataSource('rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4', autoPlay: true);
}

3. 确认ijkplayer协议支持

若上述方法无效,可能是当前fijkplayer依赖的ijkplayer未编译RTSP支持:

  • 尝试更换包含全协议支持的fijkplayer版本,或自行编译ijkplayer并集成,确保编译时开启CONFIG_RTSP、CONFIG_RTP等相关选项。

4. 本地RTSP服务器排查

针对本地流,需确认:

  • 设备与服务器处于同一局域网,且服务器554端口(RTSP默认)未被防火墙拦截
  • 本地RTSP服务运行正常,可通过VLC再次验证流地址有效性

内容的提问来源于stack exchange,提问作者Raphael Sauer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:15:00