主要是无状态的微服务框架,用于动态生成各种文件类型的缩略图和预览。
omnic的Python项目详细描述
全向转换器
主要是无状态的微服务,用于生成 各种各样的文件类型。包括电池,但设计成 将框架扩展到任意转换管道中。
omni转换器(可以缩写为omnic或omnic)是免费软件, 根据GPL 3.0授权。
- wip警告:omnic仍然是“未发布的软件”,这是一个正在进行的工作。 api会发生快速变化。我打算释放第一个马厩 今年年底前(2017年)的版本。
码头工人
此回购协议为使用omnic提供了一个(非常庞大的)dockerfile。这个 优点是您不必担心跟踪系统依赖项 利用内置的转换图。
- 在您的计算机上安装并配置Docker
- 建立图像:docker build .
- 运行图像:docker run -it-p 127.0.0.1:8080:8080 <IMAGE HASH>
- 转到http://127.0.0.1:8080/admin/查看管理界面演示
运行测试套件:docker run -it <IMAGE HASH> py.test
管理
从这里您可以粘贴到资源的url中,omnic将尝试 显示为缩略图。在本例中,obj文件(3d模型格式) 一个小号被粘贴进去,并生成一个200x200的缩略图:
在缩略图的右侧有一个HTML片段(的源代码 缩略图在左边),一个按钮将带您进入转换图 对于该类型:
使用PIP安装
如果你想在Docker之外运行,你可以直接安装在 您的机器,前提是您至少安装了Python3.5。第一步 正在安装python包:
pip install omnic
如果要运行webserver,则需要安装一些额外的 依赖关系:
pip install sanic jinja2 uvloop
文件
什么是Omnic?
Omnic可以做很多事情。很可能你会想要它 没有(任何其他)后端代码的可视化和缩略图。它是受启发的 部分地通过White Noise-特别地,通过为媒体提供服务来降低复杂性。 Python。
即时媒体处理
- omnic是一个web服务器,它监听如下请求 /media/thumb.png:200x200/?url=mysite.com/myimage.jpg,然后下载 myimage.jpg文件,生成它的200x200缩略图,并响应 用那个缩略图。
- 它还可以执行文件类型转换,如 /media/PDF/?url=mysite.com/mydoc.doc用于 .doc文件。
- omnic没有重新发明任何轮子,而是由a框架组成 缝合现有的CLI转换器< /强>并将它们全部暴露为 微服务
可扩展转换图
- omnic的核心是“转换图”:您将url提供给一个文件,并且 所需的类型,并查找最短路径,即使它需要多个 转换
- Omnic附带“电池”,并配有3D文件转换器, 文档、图像等–但如果这还不够,只需要 添加自己的转换器的行数不多
缓存
- 由于转换很慢,每个步骤都被缓存,因此只执行一次, 在生产中,它应该位于上游缓存或cdn之后
- 因此,omnic可以用更简单的 解决方案,使开发环境简单得多 生产和可能减少要加载的工作进程/队列缩放问题 平衡问题
javascript框架
- omnic附带了一些js来平滑体验:对于非缓存媒体, 它最初将提供一个占位符以避免超时,bUT和 包含js代码片段转换为 完成
- omnic还提供了一个可选的javascript查看器系统 转换系统:例如,word文档最初可能显示 作为JPG缩略图,然后单击“以模式显示基于PDF的查看器”
替换构建步骤
- Omnic的转换概念非常广泛和通用:例如, 它可以从es6源构建小型js包
- 理想情况下,omnic可以替代生产过程中的大部分构建步骤 部署,使发布简单地将新代码部署到应用服务器,以及 在第一次请求时,所有其他事情都会按需要完成(例如由测试人员完成 登台时)