-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
协议解析错误 #3519
Comments
新版本的建议切换到 PlayerFactory.setPlayManager(Exo2PlayerManager.class); 试试,另外我觉的你同事说的不对 |
com.google.android.exoplayer2.ExoPlaybackException: Source error 加上后完全播放不了 |
要最新版本 |
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v8.1.9-release-jitpack'
替换到这个版本后,报如下错误: Caused by: com.google.android.exoplayer2.ParserException com.google.android.exoplayer2.ExoPlaybackException: Source error |
因为你的流有问题,不符合默认规定的标准····· One of more mandatory SDP fields are not set ,说明 SDP 协议内容不全 |
麻烦问一下,之前频繁初始化播放、销毁操作会出现播放不成功的问题,是应为销毁资源需要一定时间吗?后来我在销毁和初始化播放之间加了个判断有没有间隔10秒,这样好很多。 |
频繁初始化播放、销毁操作对于 ijk 层面确实会有一个异步问题,因为 ijk 的释放是异步的,所以过于频繁会有性能上的开销 |
由于网络不稳定,导致播放中断,参考 #2757 实现了重连功能,重连就是监听到中断重新初始化播放器,但有时不一定成功,后来重连改为销毁播放器,睡眠10秒,再初始化播放器,来避免销毁的异步问题。想问由于网络不稳定等因素导致的播放中断更好的重连方案?或者我现在用的重连方案哪里可以优化的? |
基本上都是要重新创建一个网络链接来解决,区别在于是底层做(ffmpeg)还是在上层做,这就考虑成本问题,要体验好你肯定是需要在底层改,要简单肯定就是上层重新构建 player 更方便。 所以你如果是用默认 ijk 模式,就可以自己定制 so 来解决,如果是用 exo ,那就只能从上层去解决 |
怎么确定我是ijk还是exo模式?之前尝试过自己生成so, 但是出现的问题太多了,所以就直接用你们的库了,你们能不能在你们库的基础上自定义so来解决重连的问题呀 |
没有调用 PlayerFactory.setPlayManager(Exo2PlayerManager.class); 的就是默认的 IjkPlayerManager |
解决下重连问题呀,这个问题很常见的 |
没感觉到什么问题,我这边很正常 |
通过onSurfaceUpdatedStop这个方法监听到播放中断后,重连可不可以用player.getCurrentPlayer. startPlayLogic实现?如果可以再次基础上多次通过“player.getCurrentPlayer. startPlayLogic”还是频繁中断,就再根据一定次数加上销毁播放器、睡眠、重新初始化播放器来优化? |
是不是设置了静音“ GSYVideoManager.instance().setNeedMute(true); |
不是很理解你的场景,频繁中断这个你从播放器段考虑没用,你应该从根源解决问题 |
播放着突然变终止变成只有播放按钮的回调接口有没有?或者怎么监听? |
E/IJKMEDIA: Connection to tcp://192.168.1.168:554?timeout=0 failed: No route to host danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0) 突然报这个错误然后播放失败,怎么解决,加上这个配置可以解决吗“ VideoOptionModel videoOptionModel24 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_timeout", -1); |
No route to host 的意思是无法访问目标服务器的意思,我觉得你纠结的都是点都好奇怪 |
我通过“onSurfaceUpdated”方法查询,想实现重连操作。但是现在出现一种意外,视频播放器突然变为“播放按钮”,“onSurfaceUpdated”不会执行,看到“setStateAndUi”的数字数据是数字6,想问6代表的是什么,然后怎么解决这种情况的中断,实现重连操作? |
我越来越不知道你的点在哪里了? |
我上面已经描述很详细了,如果哪里看不懂麻烦提出来 |
就是不明吧你上面说的是什么,也不知道你想做什么?如果你想要断网重连就自己在 error 或者 complete 里去做,如果是一直断那就是你网络和流有问题,网络和流不稳定你在客户端做啥都没有,所以我不知道你究竟想干啥。 |
就是解决“网络和流的问题”然后实现重新连接,但是“网络和流有问题”在error或者complete有时实现不了 |
看完这个 issue 感觉完全是在牛头不对马嘴? 不就是 onError 的时候自己 setup 然后 play 就好了吗? |
问题描述:
APP通过wifi从摄像头(我司称布控球)拉取rtsp视频流,出现视频播放不连续,时间2秒3秒等作为间隔播放(叫跳帧?)同事认为是协议解析错误,说视频不需要解码,视频播放越久出现概率越大。可能是因为wifi不稳定导致,但是WiFi不可控,希望能实现出现协议解析错误时底层能处理,或者提供接口检测APP重新拉流。部分日志:
##出现问题的视频流:因为是我司内部摄像头:暂没想到如何提供视频流
问题机型/系统:测试用多部机器均出现小米A2、华为手机、华为平板
GSY依赖版本
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v8.1.7-release-jitpack'
Demo中的复现步骤
播放久大概率出现
问题代码:(如果有)
无
问题log(如果有)
2021-12-22 17:07:19.547 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f595 expected=82e3
2021-12-22 17:07:19.633 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82e4 expected=f597
2021-12-22 17:07:19.787 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f598 expected=82e6
2021-12-22 17:07:19.894 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82e7 expected=f59a
2021-12-22 17:07:20.024 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f59b expected=82e9
2021-12-22 17:07:20.104 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82ea expected=f59d
2021-12-22 17:07:20.264 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f59e expected=82ec
2021-12-22 17:07:20.349 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82ed expected=f5a0
2021-12-22 17:07:20.545 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f5a1 expected=82ef
2021-12-22 17:07:20.625 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82f0 expected=f5a6
2021-12-22 17:07:20.709 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f5a6 expected=82f4
2021-12-22 17:07:20.710 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82f4 expected=f5ab
2021-12-22 17:07:20.789 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f5ab expected=82f9
2021-12-22 17:07:20.792 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82f9 expected=f5b1
2021-12-22 17:07:20.881 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f5b1 expected=82ff
2021-12-22 17:07:20.883 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 82ff expected=f5ba
2021-12-22 17:07:20.945 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq f5ba expected=8308
2021-12-22 17:07:20.971 19805-20058/com.benliu.ptv3 E/IJKMEDIA: RTP: PT=60: bad cseq 8308 expected=f5f0
The text was updated successfully, but these errors were encountered: