自动化文件处理软件FileFlows

news2024/9/29 11:37:04

在这里插入图片描述

什么是 FileFlows ?

FileFlows 是一款文件处理软件,可以转码、转换、压缩和管理任何文件类型,包括视频、音频、图像和漫画书。它支持多个平台、硬件编码器以及强大的流程和报告功能。

在这里插入图片描述

FileFlows 通过监视“库”(文件夹/路径)中的文件,会自动或根据时间表处理这些文件。例如,您可以将所有视频文件转码为适合您需求的格式。一个非常典型的用例是让 FFmpeg 将所有视频文件转换为特定的编解码器、音频编解码器、从视频中删除黑条、删除不需要的音频、字幕、重新复用为 mkv/mp4

FileFlows 提供了插件和脚本扩展,可以将多个操作合成一个流程,以便在单个步骤中执行多个操作,实现了类似 n8n 的自动化处理。

文章传送门:开源工作流自动化工具n8n

FileFlows 绝大部分应用场景是不需要订阅的,但一些更高级的功能,如更好的仪表板、外部数据库支持、更多的处理节点(免费中有 2个)需要 patreon 订阅。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 fileflows ,选择第一个 revenz/fileflows,版本选择 latest

本文写作时, latest 版本对应为 23.10

在这里插入图片描述

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 fileflows 和 子目录
mkdir -p /volume1/docker/fileflows/{data,logs,media/{pictures,output},temp}

# 进入 fileflows 目录
cd /volume1/docker/fileflows

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name fileflows \
   -p 5040:5000 \
   -v /var/run/docker.sock:/var/run/docker.sock:ro \
   -v $(pwd)/data:/app/Data \
   -v $(pwd)/logs:/app/Logs \
   -v $(pwd)/temp:/temp \
   -v $(pwd)/media:/media \
   -e TempPathHost:$(pwd)/temp \
   revenz/fileflows
  • 目录说明:
文件夹装载路径说明
docker/fileflows/data/app/Data存放数据库、插件等
docker/fileflows/logs/app/Logs存放日志
docker/fileflows/temp/temp临时目录
docker/fileflows/media/media媒体目录

media 有两个子目录,和安装没有关系,主要是用于后面的示例,其中:

 pictures :用于存放需要转换的图片;
 output:用于存放转换完成后的图片;
  • 环境变量
可变
TZ时区设置
TempPathHost设置临时目录

更多的环境变量,请参考官方文档:https://fileflows.com/docs/installation/docker#parameters

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  fileflows:
    image: revenz/fileflows
    container_name: fileflows
    restart: unless-stopped
    ports:
      - 5040:5000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./data:/app/Data
      - ./logs:/app/Logs 
      - ./temp:/temp
      - ./media:/media
    environment:
      - TZ=Asia/Shanghai
      - TempPathHost=/volume1/docker/fileflows/temp

然后执行下面的命令

# 新建文件夹 fileflows 和 子目录
mkdir -p /volume1/docker/fileflows/{data,logs,media/{pictures,output},temp}

# 进入 fileflows 目录
cd /volume1/docker/fileflows

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

NVIDIA 支持

如果你的群晖带 NVIDIA 显卡,可以使用硬件编解码,但是很抱歉,老苏的小机器没法帮大家测试、验证

# 运行容器(支持N卡)
docker run -d \
   --restart unless-stopped \
   --name fileflows \
   --runtime nvidia \
   -p 5040:5000 \
   -v /var/run/docker.sock:/var/run/docker.sock:ro \
   -v $(pwd)/data:/app/Data \
   -v $(pwd)/logs:/app/Logs \
   -v $(pwd)/temp:/temp \
   -v $(pwd)/media:/media \
   -e TempPathHost:$(pwd)/temp \
   -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility \ 
   -e NVIDIA_VISIBLE_DEVICES=all \
   revenz/fileflows

如果你是 unRAID,不仅支持 NVIDIA,也支持 Intel Quicksync (QSV)

其实群晖也是可以启用 Intel Quicksync (QSV) 的,具体检测办法可以参考老苏之前写的文章👇

文章传送门:

  • 用Dim搭建轻量级媒体服务器
  • 用Portainer安装Jellyfin媒体服务器(安装篇)

运行

在浏览器中输入 http://群晖IP:5040 ,第一次会有设置向导

在这里插入图片描述

设置完成后的主界面

在这里插入图片描述

安装插件

Plugins 中勾选全部,然后右键选择 download

在这里插入图片描述

下载完成后,全部都启用 enabled

在这里插入图片描述

设置 SMTP

FileFlows 支持 AppriseDiscordEmail 等通知方式,老苏选择了 Email,还是以 88 邮箱为例

  • SMTP Server:为 smtp 服务的地址;
  • SMTP Port:为 smtp 服务的端口;
  • SMTP Username:用户;
  • SMTP Password:密码;
  • Sender:显示发送电子邮件的电子邮件地址;

在这里插入图片描述

如果你要使用 Apprise,可以看老苏之前写的文章

文章传送门:几乎每个平台都可以使用的推送通知apprise

简单示例

假设我们的需求是:将其他的图片格式转为 png 格式

建流程

第一步、首先要在 FlowsADD 一个新的流程

在这里插入图片描述

如果template 显示空白,你会在日志中找到下面的错误,因此要确保你的群晖能连上 raw.githubusercontent.com

Error -> ExceptionMiddleware: Resource temporarily unavailable (raw.githubusercontent.com:443)

在这里插入图片描述

选择 Image File,然后点 NEXT

在这里插入图片描述

现在我们有了第一个节点,其他的节点要在右侧选取

在这里插入图片描述

第二个节点用的是 Image Format

在这里插入图片描述

  • Format 选择了 PNG

在这里插入图片描述

第三个节点用的是 Move File

  • Destination Folder:目标输出路径选择了 /media/output

在这里插入图片描述

第四个节点用的是 Send Email

  • Recipients:收件人的地址;
  • Subject:邮件主题;
  • Body:邮件的内容;

在这里插入图片描述

现在一个基本的流程就完成了,取名为 Image2png

在这里插入图片描述

建库

第二步、在 LibrariesADD 一个库

  • Template:下拉选择了 Image Library
  • Flow:选择我们前面创建的 Image2png 流程;

在这里插入图片描述

  • Scan:启用,并将 Scan Interval 设置为 3600

在这里插入图片描述

保存

在这里插入图片描述

添加文件

/fileflows/media/pictures 目录中丢一张图片

在这里插入图片描述

转换完成后,如果邮件设置没问题的话,会收到提醒邮件

在这里插入图片描述

/fileflows/media/output 中能看到转换后的 png 文件

在这里插入图片描述

遗留问题

  1. 本来想在邮件中设置使用图片文件名的,但是看了半天文档也没搞明白;
  2. 虽然转换成功了,但是原始的 jpg文件分辨率是 1920*1301,但是转换完成的 png分辨率是 1301*1301的;

在这里插入图片描述

  1. 多了一个文件,看起来像是群晖特有的;

在这里插入图片描述

参考文档

revenz/FileFlows: FileFlows is a file processing application that can execute actions against a file in a tree flow structure.
地址:https://github.com/revenz/FileFlows

FileFlows
地址:https://fileflows.com/

Docker | FileFlows
地址:https://fileflows.com/docs/installation/docker

FileFlows: Self hosted file processing, videos, audio, images, anything : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/15jledo/fileflows_self_hosted_file_processing_videos/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3D人体姿态估计(教程+代码)

3D人体姿态估计是指通过计算机视觉和深度学习技术,从图像或视频中推断出人体的三维姿态信息。它是计算机视觉领域的一个重要研究方向,具有广泛的应用潜力,如人机交互、运动分析、虚拟现实、增强现实等。 传统的2D人体姿态估计方法主要关注通…

SPRING BOOT发送邮件验证码(Gmail邮箱)

SPRING BOOT邮件发送验证码 一、Gmail邮箱配置 1、进入Gmail(https://mail.google.com) 2、打开谷歌右上角设置 3、启用POP/IMP 4、启用两步验证(https://myaccount.google.com/security) 5、建立应用程式密码 6、复制保存应用程式密码 二、代码 1、引入依赖 <d…

Java序列化篇----第二篇

系列文章目录 文章目录 系列文章目录前言一、Serializable 实现序列化二、writeObject 和 readObject 自定义序列化策略三、序列化 ID四、序列化并不保存静态变量五、Transient 关键字阻止该变量被序列化到文件中六、序列化(深 clone 一中实现)前言 前些天发现了一个巨牛的人…

Java线程同步机制

第1章&#xff1a;引言 大家好&#xff0c;我是小黑。今天咱们来聊聊并发编程&#xff0c;咱们经常听说并行、并发这些词&#xff0c;特别是在处理大量数据、高用户负载时&#xff0c;这些概念就显得尤为重要了。为什么呢&#xff1f;因为并发编程可以帮助咱们的应用程序更有效…

GO语言笔记1-安装与hello world

SDK开发工具包下载 Go语言官网地址&#xff1a;golang.org&#xff0c;无法访问Golang中文社区&#xff1a;首页 - Go语言中文网 - Golang中文社区下载地址&#xff1a;Go下载 - Go语言中文网 - Golang中文社区 尽量去下载稳定版本&#xff0c;根据使用系统下载压缩包格式的安装…

Dubbo入门介绍和实战

1. 引言 Dubbo是一款开源的高性能、轻量级的Java RPC&#xff08;远程过程调用&#xff09;框架&#xff0c;旨在解决分布式服务之间的通信问题。本文将介绍Dubbo的基础概念、核心特性以及使用场景&#xff0c;包括实际示例演示。 2. 什么是Dubbo&#xff1f; Dubbo是阿里巴…

java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web碳排放数据信息管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为…

Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用

前言 前段时间微软发布了适用于VS Code的C#开发工具包&#xff08;注意目前该包还属于预发布状态但是可以正常使用&#xff09;&#xff0c;因为之前看过网上的一些使用VS Code搭建.NET Core环境的教程看着还挺复杂的就一直没有尝试使用VS Code来编写.NET Core。不过听说C# 开发…

【Java技术专题】「攻破技术盲区」攻破Java技术盲点之unsafe类的使用指南(打破Java的安全管控— sun.misc.unsafe)

Java后门机制 — sun.misc.unsafe 打破Java的安全管控关于Unsafe的编程建议实例化Unsafe后门对象使用sun.misc.Unsafe创建实例单例模式处理实现浅克隆&#xff08;直接获取内存的方式&#xff09;直接使用copyMemory原理分析 密码安全使用Unsafe类—示例代码 运行时动态创建类超…

centos通过yum 安装nginx和基本操作

Yum安装Nginx 1、配置Centos 7 Nginx Yum源仓库(注意系统版本要匹配&#xff0c;此步根据环境来确认&#xff0c;不是必须的&#xff09; rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2、安装Nginx yum install n…

深度学习|10.5 卷积步长 10.6 三维卷积

文章目录 10.5 卷积步长10. 6 三维卷积![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b5bfa24f57964b0f81f9602f5780c278.png) 10.5 卷积步长 卷积步长是指每计算一次卷积&#xff0c;卷积移动的距离。 设步长为k&#xff0c;原矩阵规模为nxn&#xff0c;核矩阵…

静态网页设计——环保网(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1BC4y1v7ZY/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

【大数据进阶第三阶段之Hive学习笔记】Hive基础入门

目录 1、什么是Hive 2、Hive的优缺点 2.1、 优点 2.2、 缺点 2.2.1、Hive的HQL表达能力有限 2.2.2、Hive的效率比较低 3、Hive架构原理 3.1、用户接口&#xff1a;Client 3.2、元数据&#xff1a;Metastore 3.3、Hadoop 3.4、驱动器&#xff1a;Driver Hive运行机制…

【设计模式】中介模式

一起学习设计模式 目录 前言 一、概述 二、结构 三、案例实现 四、优缺点 五、使用场景 总结 前言 【设计模式】中介者模式——行为型模式。 一、概述 一般来说&#xff0c;同事类之间的关系是比较复杂的&#xff0c;多个同事类之间互相关联时&#xff0c;他们之间的关…

多功能号卡推广分销管理系统 流量卡推广分销网站源码-目前市面上最优雅的号卡系统

一套完善,多功能,的号卡分销系统,多接口,包括运营商接口,无限三级代理,最简单易用的PHP~ 目前市面上最优雅的号卡系统!没有之一 软件架构说明 环境要求php7.3以上(建议低于8.0),MySQL5.6以上,Nginx1.16(无要求) 产品特性 自动安装向导 易于安装使用部署 多个第…

机器学习笔记 - 基于OpenCV+稀疏光流的无监督运动检测

一、简述 在各种高级开源库的帮助下&#xff0c;检测固定摄像机拍摄的运动行为是轻而易举可以实现的&#xff0c;但检测移动的摄像机拍摄的移动物体的运动检测依然是一个复杂的问题。在这里&#xff0c;我们将继续基于稀疏光流&#xff0c;并检测移动的无人机相机的运动。 这里…

腾讯云轻量应用服务器可以一次性买三年,2核2G4M和2核4G5M

腾讯云优惠之轻量应用服务器3年优惠价格表&#xff0c;目前可以买三年的轻量配置为2核2G4M和2核4G5M&#xff0c;2核2G4M价格三年价格540元&#xff0c;2核4G5M带宽三年756元&#xff0c;当然也可以选择购买一年&#xff0c;第二年续费会比较贵&#xff0c;腾讯云轻量2核2G4M服…

Linux Capabilities 基础概念与基本使用

目录 1. Linux capabilities 是什么&#xff1f; 2. capabilities 的赋予和继承 线程的 capabilities Permitted* 允许 Effective* 有效 Inheritable* 遗传 Bounding&#xff08;集合&#xff09; Ambient 文件的 capabilities Permitted Inheritable Effective 3…

Vue3 结合typescript 组合式函数(1)

在App.vue文件中 实现鼠标点击文件&#xff0c;显示坐标值 第一种方法 第二种方法&#xff1a;组合式函数 结果&#xff1a; 官网推荐组合函数&#xff1a;https://vueuse.org

【MongoDB】MongoDB查询语句find的使用,和提高查询速度的游标的使用,非常详细!!!

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;MongoDB数据库 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继续前…