实现番剧下载
issue 内容
亲爱的作者大大,个人认为这个软件的番剧页面太过空旷,看起来总觉得不太好看。所以我想是否可以通过使用bangumi或其他网站来直接看到作品的详细信息。 另外我觉得可以添加一些BT源如蜜柑计划番剧花园nyaa等,因为很多动漫网站都会压缩画质,直接用BT画质会更好。 还有就是请问下载功能什么时候能上线呢。
提交前确认
- [X] issue 列表中,没有我的新功能需求 / 问题
Bangumi 集成在 #159 中追踪
BT源没有计划
下载功能在此 Issue 里追踪,有进展我会在这里更新
想催更😊,大佬这个功能有新进展了吗
这个功能目前主要的障碍是我们想实现完整的视频文件下载,这样可以自由地在设备间拷贝与分享。
但是大部分视频源提供的是 ts 视频片段文件,单集番剧会对应数十个片段文件,这样跨设备分享与拷贝几乎是不可能的。
我们需要重新编码视频片段文件为完整的视频文件,但这受限于移动端的性能而非常缓慢。
根据骁龙8Gen3上的测试结果,20分钟的番剧大概需要约5分钟完全转码且全程需要吃满 CPU ,这种体验是不能接收的。
当我取得进展会在这里更新。
个人一点意见哈,移动端可以先实现下载ts离线播放、弹幕显示等其他功能正常使用;PC端性能强一点,在此基础上可以考虑做ts合并。毕竟移动端分享的需求没那么大,PC有导出功能,我个人觉得就够了,甚至没有对我也不影响,主要的使用场景就是通勤路上想看番+弹幕。 目前我个人是有网的情况下,用Kazumi,无网情况用提前下载好的视频+弹弹play加载弹幕看。。。
还有就是我个人对视频格式不太了解,ts文件只能重新编码吗?可以像多个视频文件,整合合并到一个MKV文件吗,这种形式应该不需要那么高性能
可以直接合并,但是可能会出现一些莫名其妙的问题,因为很多第三方站点的 hls 流不是那么标准。
直接合并有些播放器会播放不了或是播放到特定时间卡住。
其实不用合并ts片段,直接用播放器打开m3u8文件即可按顺序播放ts片段(之前的dm共和国等动漫软件很多就是这样做的)这样就算是很多ts片段也能实现移动端下载后的观看,至于拷贝和分享,如果是传到另一台手机,也是老方法直接点击m3u8观看,如果是pc,可以用户自己用ffmpeg或者格式工厂这类软件合并
@Predidit 我也发表下个人意见哈。我赞同优先实现本地缓存(视频+弹幕),我觉得分享功能和本地缓存功能耦合度并不高,可以分开实现,不该相互阻塞。而且本地缓存是很多视听类app标配,优先级应该更高。
关于转移完整视频文件的需求,如果想转到其他设备上观看,不如直接在那个设备上缓存,应该比转码快;如果是为了在无网环境下分享,可以考虑app内开个本地流媒体服务器,让其他设备直接串流或缓存(也比转码快,同时还支持使用第三方播放器);如果是为了囤资源,大概会选BT或其他资源质量更高的途径吧;如果用户一定要在一个看番app里得到完整视频文件……那就告知用户转码成本,他愿意忍受就给他转,或者给个合并教程,授人以渔,仁至义尽了。
我这边是经常因为莫名其妙的网络原因遇到播放卡顿的情况,但是现在播放器可以查看视频源网址。我这边是通过网址在IDM上把视频下下来看,但这样就没有弹幕和超分了,我觉得可以直接加个能选择本地视频源播放的功能。这样应该会比应用内下载简单很多?
根据骁龙8Gen3上的测试结果,20分钟的番剧大概需要约5分钟完全转码且全程需要吃满 CPU ,这种体验是不能接收的。
我有点好奇这是用什么方法实现的转码。我在研究mpv编译参数的时候意识到目前 media-kit 在编译 FFmpeg 的时候没有带上 libx264 ,如果带上 libx264 编译或许可以实现使用 mpv 进行 hls 流下载 mp4,不过我还没测试过是否能用
@ErBWs
所有的现代移动GPU都没有内置硬件编码加速,只有硬件解码加速,即使是沉迷多媒体的 Apple 也是这样,所以我们并不需要 libx264
mpv 命令行可以将视频合并并转码输出为文件
类似于
mpv "https://example.com/example.m3u8" -o archieve.mp4
mpv "https://example.com/example.m3u8" -o archieve.mp4
我看到的也是这个方法,那看来这个功能还得继续停滞