begeekmyfriend/yasea

Network weak

DoubleCcc opened this issue · 10 comments

您好,请问为什么在AndroidStudio里或者安卓模拟器可以连接上nginx并推流成功,在手机上则显示Network weak,电脑与手机在同一个wifi,地址都为 rtmp://(nginx所在linux虚拟机ip):1935/mylive/xxx
nginx.conf 部分配置:application mylive{
live on;
hls on;
hls_path /usr/local/m3u8File;
hls_fragment 2s;
hls_playlist_length 16s;
recorder myRecord {
record all manual;
record_suffix _.flv;
record_path /tmp/rec;
}
}

listen 80;
server_name localhost;

显示Network weak表示由于网络堵塞,FLV缓存满了,RTMP包一直发不出去,你可以在SrsEncoder.java里面看到这个逻辑。

显示Network weak表示由于网络堵塞,FLV缓存满了,RTMP包一直发不出去,你可以在SrsEncoder.java里面看到这个逻辑。

请问是否可以教一下,我不知道具体怎么做,谢谢

你自己用ffmpeg在同样的网络下推流看看能否成功,这是网络问题。

你自己用ffmpeg在同样的网络下推流看看能否成功,这是网络问题。

在linux用ffmpeg命令是可以推流文件里的视频的。

但你现在用的WiFi

有一个办法是将VGOP改大一点,我把FLV缓存设成VGOP大小了,你可以将它改成96(4秒帧,1秒就是上面的VFPS),代价是延迟可能会大一点

改了还是不行。https://github.com/DoubleCcc/zhibo 这是我之前上传的文件,方便的话可以看一下嘛,感谢

这是网络环境问题,给我看代码没啥意义,我只能说RTMP那边发送太慢,你可以取消注释看看Log.d体会一下,里面是Android SDK API的写网络,我这边也只有不断调整VGOP大小调整,你可以改这里这里代码,将VGOP / 2改成VGOP

我没有改代码,手机连接了电脑360wifi分享的网络 ,然后就能推流成功了 谢谢!

是挺不容易的,祝好