为了写一个直播观看桌面软件,我试了 3 种跨平台框架

2023-02-06 11:29:36 +08:00
 moxxun
1 、Electron:写页面确实快,但有些 m3u8 无法解码,播放黑屏。放弃。
2 、Tauri:加入 rust 端推拉流,解决黑屏问题,但生产模式只支持 https ,ajax 请求拦截一直无法成功。后来尝试 sidecar 模式调用 mpv ,但又没法自定义弹幕显示了。放弃。
3 、Flutter:最初是考虑用 flutter 的,但官方 Video 组件不支持桌面。后来发现 dart_vlc 插件,开始重写,然而播放时耗电严重;再次寻找一番,发现了 fvp 插件(基于 mdk-sdk)的 flutter 插件,fork 后在 cpp 侧添加一些接口后,基本符合预期了。另一方面,为了扫源时得到额外数据,加入了 flutter_rust_bridge ,调用 ip2region 和 ffrpobe (因为偷懒及不知 rust 如何静态编译 ffprobe )。要说坑,就是多窗口还是挺麻烦的,等官方支持多窗口后再优化吧。到目前为止,基本满足自用需求了(虽然界面很丑)。项目地址: https://github.com/moxun33/vvibe 欢迎 star~

PS: 春节前被裁了,求职中,投出的简历石沉大海,太怀疑自己了。本人 7 年 React 开发,商业保理行业,其中做了一年项目经理,如有广州前端开发的职位,求推荐~~感谢!

2800 次点击
所在节点    分享创造
8 条回复
liansishen
2023-02-06 13:05:21 +08:00
暂不考虑多平台的话,为啥还要用跨平台框架呢
moxxun
2023-02-06 13:37:00 +08:00
@liansishen 只是暂时没精力做跨平台。
missdeer
2023-02-06 14:00:14 +08:00
用 Qt 调 mpv 妥妥的
workshop
2023-02-06 14:33:47 +08:00
直接 底层 ffmpeg 吧,不支持的部分 自觉打补丁;
ZoeeoZ
2023-02-06 17:05:01 +08:00
听说广州今年卷的批爆,看来是真的啊
moxxun
2023-02-07 13:55:39 +08:00
@workshop 感谢提醒,已使用 rust-ffmpeg 替换了 ffprobe.exe
LLaMA2
2023-02-07 17:00:31 +08:00
gejigeji
2023-02-08 10:45:13 +08:00
厉害

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913536

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX