wang-bin / fvp

Flutter video player plugin for all desktop+mobile platforms. download prebuilt examples from github actions. https://pub.dev/packages/fvp
BSD 3-Clause "New" or "Revised" License
126 stars 21 forks source link

【Windows】部分特定链接疑似无法播放? #22

Closed luckykeeper closed 10 months ago

luckykeeper commented 10 months ago

作者您好,我是刚刚接触 flutter 的菜鸟,6月的时候,我用 https://github.com/zezo357/flutter_meedu_videoplayer 弄了个播放器出来这个,不过因为当时其桌面端使用的 media_kit 无法解析部分链接的问题,Windows 端一直没有搞定,刚刚发现它那边把 Windows 端播放切到您这边了,就跟着把代码稍改了改,但是发现 Windows 端还是不能播放(这套代码在安卓上一直是正常的,基本上每天都拿它听歌),以下是它的 log

[flutter_meedu_videoplayer] BoxFit.scaleDown
[flutter_meedu_videoplayer] Fit is BoxFit.scaleDown
[flutter_meedu_videoplayer] Last fit used was scaleDown
[flutter_meedu_videoplayer] Exception: No Stream<VideoEvent> for textureId: -1.
[flutter_meedu_videoplayer] #0      MdkVideoPlayer.videoEventsFor
video_player_mdk.dart:225
#1      VideoPlayerController.initialize
video_player.dart:488
                            <asynchronous suspension>
#2      MeeduPlayerController.setDataSource
controller.dart:533
                            <asynchronous suspension>

[flutter_meedu_videoplayer] Fit is BoxFit.scaleDown
[flutter_meedu_videoplayer] hidden videoFit Changed

为了探究这个问题来自 flutter_meedu_videoplayer 还是来自 fvp,我下载了 fvp 的源码,使用 fvp/example 里面的 demo 进行了测试 如下图,将 demo 里面的链接替换成了自己的链接 image 两个链接均无法播放,以下提供两个链接供调试,在浏览器中都能够正常播放 第一个链接报错:postCObject error,稍后程序会自动退出 第二个链接报的和最上面 flutter_meedu_videoplayer 报的是一个错误 _Exception (Exception: No Stream<VideoEvent> for textureId: -1.) 上面第二个链接是我自己服务器上面的资源,来自 cloudreve 的外链

希望大佬能抽空帮忙看下,感谢!

wang-bin commented 9 months ago

android还是ios?手机端应该是调用系统播放器

luckykeeper commented 9 months ago

那难顶了,zerossl 和 let's 的免费证书都不行,OA 那边是买的 WoTrus 的 DV 证书,那看来电脑这边要播放要么不用 https 要么就得买证书了

android还是ios?手机端应该是调用系统播放器

手机是 Android 12,没有 iPhone 不知道 iOS 那边的情况

luckykeeper commented 9 months ago

翻了下 zezo 的提交日志:https://github.com/zezo357/flutter_meedu_videoplayer/tree/33dce27906bfb58f3fd67292fde4210d0979bf1c 手机端用的是 video_player https://pub.dev/packages/video_player

wang-bin commented 9 months ago

那个调用exoplayer相当于系统播放器

luckykeeper commented 9 months ago

啊哈,原来如此,感谢大佬这段时间辛苦陪我排查,辛苦 电脑端的事情我就先搁置吧,手机上面能用暂时足够了 那么结论就是如果想在电脑上面放,let's 和 zerossl 的免费证书暂时就不行咯,ffmpeg 的 tls 会出问题,手机能放是因为调的系统播放器(有个疑问哈,安卓系统播放器是不用 ffmpeg 解码的对吧,所以就不会有这个问题,如果非要甩锅的话,可以说是 ffmpeg 的问题嘛?)

shunshunw commented 8 months ago

我这边用qt集成了ffmpeg做的播放器,也出现了这个报creating secuity context failed的问题,只在部分windows7上出现过。win10没有这个问题。用ffmpeg6.0拉流应用层是https的流没有这个问题,用ffmpeg4.3会有。使用在出问题的win7上拉流rtsp协议没有问题。感觉可能是部分win7只支持ssl而不支持tls