abcd191898105
V2EX  ›  Flutter

flutter 视频播放器 的恩恩怨怨

  •  
  •   abcd191898105 · Feb 3, 2021 · 3860 views
    This topic created in 1926 days ago, the information mentioned may be changed or developed.

    对于和我一样菜逼前端,不会 java 原生安卓的人,玩 flutter 真的好痛苦的说。

    今天就谈谈我遇到的 flutter 播放器的问题

    1:flutter 自带的 video_player,以及 video_player 的孙子们( chewie,betterplayer,yoyo-player,等等)(不推荐使用)

    市面上主流的大概是 video_player 和她的衍生品,但是这类播放器有几个要命的问题,1:video_player 本身对于分段源 m3u8 的播放非常不友好,典型的问题就是某个分段在突然网络有点不好的情况下请求失败,会导致 video_player 直接播放失败,貌似不会去重复请求,有经常下载 m3u8 视频的朋友们肯定知道,在下载的时候,太多的切片,总有那么一两个小片是会偶尔超时一下,那么使用 video_player 播放就是炸胡,(播放到一半突然出现播放失败)

    2:编译原生播放器到 flutter 使用

    这一类典型的代表就是 fijkplayer,flutter_ijkplayer 。这两个播放器差不多,前者 fijkplayer 作者维护的更勤一些。不过前者 fijkplayer 作者注重播放器性能和 bug 修复,皮肤和基本使用上的完善作者希望用户自行解决,说白话就是你自己去写皮肤和手势那些,会增加时间,新人使用不是很友好 flutter_ijkplayer 作者上一次提交代码好像是 3 月份的时候,差不多挺久了,文档貌似不全,好处是皮肤有自带的,至于想自定义皮肤,只能完全参考源码。好处是自带有手势拖动快进,快退

    3:原生播放器与 flutter 交互(我也不知道应该怎么算这类播放器,没办法,我菜逼新人) 典型代表 flutter_tencentplayer,这款播放器,是我目前见过 flutter 这边能找到能用的最好的一款了,功能方面都很好,手势拖动都有。坏处是,文档说明不全(指的是新手用),要看源码找下。也不知道是我太菜,还是什么原因我个人使用的时候,没有成功的时候,说人话就是我不会用这个播放器,也没办法打包,报错哇哇的,解决不了。 不过我见过别人成功使用 flutter_tencentplayer 打包的 app,确实效果很好。 缺点,可能上手不是很容易,打包文档方面,反正我不会。不能在模拟器预览貌似,只能真机

    在绕了一圈之后,差不多一年过去了,播放器这些也没什么变化,还是那样 最后我选择了 fijkplayer,但是 fijkplayer 没有手势快进,皮肤也就那样。据作者 github 说是有打算弄,但是一年过去了也没看到,没办法自己瞎逼改了改,出来个包,是个 fijkplayer 的简单皮肤, 功能上就是美化了下播放器 ui,加入了手势滑动快进快退,原本打算也加入上滑下滑操作亮度和音量的,但是发现作者文档说修改音量需要修改 java 原生入口文件,所以就放弃了。

    皮肤地址 https://github.com/abcd498936590/fijkplayer_skin

    预览

    6 replies    2023-11-10 15:52:11 +08:00
    abcd191898105
        1
    abcd191898105  
    OP
       Feb 3, 2021
    其实 chewie 播放还有一个更要命的问题,那就是自动获取视频的播放比例,如果视频是细长条的那种,那么比如视频的比例是 1000 × 300 的,你的屏幕是 1000 × 450 的,(说的是假如),当你给 video_player (也就是你的 chewie )设置自动按照视频比例来显示的时候,播放器的控制器,也就是底部控制栏的 ui 就会飘上去,不会在屏幕的底部,(全屏的时候) ui 控制器和视频底部搞的一样,视频比例并不会占满全屏,这很要命,我当时发现这个问题的时候就惊了
    abcd191898105
        2
    abcd191898105  
    OP
       Feb 3, 2021
    fijkplayer 和 flutter_ijkplayer 也有问题,那就是打包体积很大,我的是 30 兆
    yangyang
        3
    yangyang  
       Feb 3, 2021
    感谢趟坑。我打算假期试试 Flutter,想做的也是一个视频功能。
    Misakas
        4
    Misakas  
       Feb 4, 2021
    🙄楼主可以留个联系方式嘛,最近也在玩 flutter,想交流一下
    abcd191898105
        5
    abcd191898105  
    OP
       Feb 4, 2021
    @Misakas 我也是菜逼,你想多了,我也是在群里泡着
    wangyapu
        6
    wangyapu  
       Nov 10, 2023
    fijkplayer 也是基于原生的 IJKPlayer (源码里 ios 目录.podspec 能看到是依赖的原生的 BIJKPlayer ,也就是作者自己 fork 的 ijkplayer),所以感觉也能算第 3 类?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5922 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 638ms · UTC 03:24 · PVG 11:24 · LAX 20:24 · JFK 23:24
    ♥ Do have faith in what you're doing.