Skip to content
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

m3u8d-gin #40

Open
wayyoungboy opened this issue Jun 13, 2024 · 13 comments
Open

m3u8d-gin #40

wayyoungboy opened this issue Jun 13, 2024 · 13 comments

Comments

@wayyoungboy
Copy link

wayyoungboy commented Jun 13, 2024

因为想挂后台去跑,所以用gin包装了下,对了队列的方式来存储所需的下载的任务,https://github.com/wayyoungboy/way_m3u8
后面打算试试使用sqllite3来持久化。
目前用用没什么问题

@orestonce
Copy link
Owner

好,这样就有了初步的版本

@wayyoungboy
Copy link
Author

为了实现持久化引入了sqllite来实现,最近我会更新对应的case。
但是我会的html基本没有,所以使用的最原始的表单获取,如果有对应的前端伙伴,我可以现在就改成json获取的模式。
或者我这边兼容下,把对应的接口改为表单>json获取的方式进行处理。

@wayyoungboy
Copy link
Author

另外发现在接口测试中发现部分第三方请求口中的若增加Referer会导致403报错;在web版本中是否可以把整个header修改为可配置的版本。
原先的黑屏和白屏都不太适合做成配置文件,但是做成白屏的可以尝试,后续在支持不同的网站使用不同的header模板,实现兼容。
我的代码里主要使用了DownloadFromCmd这个方法,目前看起来是足够的

@orestonce
Copy link
Owner

@wayyoungboy
Copy link
Author

  • 可以的,之前只是想着实现,很多东西都很粗糙,比如日志之类的还没有改好
  • 403方案我回头试下,
  • 并发方案可以优化下working部分,预计通过不停通过堆栈生产消费。但是并发可能涉及你项目里的download文件夹生命周期处理逻辑,那时候没有看项目源码,所以暂时只使用了单线程的方式进行处理。

@wayyoungboy
Copy link
Author

日志数据接口看能不能搞个接口统一输出下

@wayyoungboy
Copy link
Author

sqlite和多线程下载已经完成编码(未测试),但是不知道多个任务下同一save_path会不会有影响,如果有的话我得再处理下

@orestonce
Copy link
Owner

日志数据接口看能不能搞个接口统一输出下

这个日志是说的调试日志还是控制台输出的提示信息?

@orestonce
Copy link
Owner

sqlite和多线程下载已经完成编码(未测试),但是不知道多个任务下同一save_path会不会有影响,如果有的话我得再处理下

多任务保存到同一个path不会有影响,但是多个任务是相同的m3u8 url会有bug

@wayyoungboy
Copy link
Author

统一的日志输出接口,m3u8d统一的接口,比如能不能和logrus对接;
跨域问题还未测试,今天又调试了下重复下载的问题,应该已经解决了

@wayyoungboy
Copy link
Author

跨域问题参考那个方案未解决

@wayyoungboy
Copy link
Author

x86的测试镜像打好了,可以通过docker pull wayyoungboy/waym3u8:test获取,默认端口2045,下载的目录为/build_path/video , 建议挂载

@wayyoungboy
Copy link
Author

然后打开即可http://127.0.0.1:2045/static/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants