|
4 | 4 |
|
5 | 5 | ## 架构 |
6 | 6 |
|
7 | | -| 项目名 | 项目名(中文) | 介绍 | |
8 | | -| ------------------- | ------------------- | ------------------------------------------------------------ | |
9 | | -| Core | 核心 | 提供Host和WPF、Web的契约以及公共方法 | |
10 | | -| Host | 主机 | 通过NamedPipe向WebAPI发布服务 | |
11 | | -| Host.Console | 主机(控制台) | 以控制台为入口的Host项目 | |
12 | | -| Host.WindowsService | 主机(Windows服务) | 以Windows服务为启动形式的Host项目 | |
13 | | -| WebAPI | 服务端 | 使用ASP.NetCore实现的服务器 | |
14 | | -| Web | Web客户端 | 使用Vue.js实现的网页端 | |
15 | | -| WPF | 桌面GUI | 桌面端的GUI实现 | |
16 | | -| WebApp | 桌面客户端 | 对WebAPI、Web和Host进行包装的、使用内置浏览器显示的、基于WinForms的桌面客户端(不再使用) | |
| 7 | +| 项目名 | 项目名(中文) | 介绍 | |
| 8 | +| ------------------- | ------------------- | ------------------------------------ | |
| 9 | +| Core | 核心 | 提供Host和WPF、Web的契约以及公共方法 | |
| 10 | +| Host | 主机 | 通过NamedPipe向WebAPI发布服务 | |
| 11 | +| Host.Console | 主机(控制台) | 以控制台为入口的Host项目 | |
| 12 | +| Host.WindowsService | 主机(Windows服务) | 以Windows服务为启动形式的Host项目 | |
| 13 | +| WebAPI | 服务端 | 使用ASP.NetCore实现的服务器 | |
| 14 | +| Web | Web客户端 | 使用Vue.js实现的网页端 | |
| 15 | +| WPF | 桌面GUI | 桌面端的GUI实现 | |
17 | 16 |
|
18 | 17 |  |
19 | 18 |
|
|
37 | 36 |
|
38 | 37 |  |
39 | 38 |
|
40 | | -## 构建与部署 |
| 39 | +## 构建 |
41 | 40 |
|
42 | 41 | ### 准备工作 |
43 | 42 |
|
|
47 | 46 | 4. 若要使用媒体信息查询功能,应在根目录(与ReadMe同级目录)下的 `bin`目录中放置了MediaInfo CLI可执行文件(如`MediaInfo.exe`):[下载](https://mediaarea.net/en/MediaInfo/Download) |
48 | 47 | 5. 若要使用编码测试功能,应在根目录(与ReadMe同级目录)下的 `bin`目录中放置了测试视频 `test.mp4`和VMAF模型([下载](https://github.com/Netflix/vmaf/blob/master/model/vmaf_v0.6.1.json)。选取的视频宜为4K分辨率,30秒以上的长度。 |
49 | 48 |
|
| 49 | +### 配置 |
| 50 | + |
| 51 | +配置前端的根网址。分为两种情况: |
| 52 | + |
| 53 | +- 若访问地址含子路径,如:`http://域名/ffmpeg`,则需要修改两个地方的配置: |
| 54 | + 1. `SimpleFFmpegGUI.Web\src\net.ts`下,修改`if (process.env.NODE_ENV === 'production')`下一行的API地址,如:`return `/ffmpeg/api/${controller}`;` |
| 55 | + 2. `SimpleFFmpegGUI.Web\vue.config.js`下,修改`module.exports`中的`publicPath`,如`publicPath: '/ffmpeg/'` |
| 56 | +- 若访问地址为IP:端口或域名,如`http://域名`、`http://端口`、`http://localhost`,则不需要进行进一步配置。 |
| 57 | + |
50 | 58 | ### 自动构建 |
51 | 59 |
|
52 | 60 | 执行PowerShell:`./build.ps1`。 |
|
59 | 67 | 若提示`无法加载文件 ******.ps1,因为在此系统中禁止执行脚本`,需要首先在管理员模式下运行PowerShell并执行 `set-executionpolicy remotesigned`,然后按Y确认。 |
60 | 68 | 生成文件位于 `Generation/Publish`下,其中 `WebPackage`为Web部署包,`WPF`前缀的为Windows桌面客户端。 |
61 | 69 |
|
| 70 | +## 部署 |
| 71 | + |
| 72 | +### 获取程序包 |
| 73 | + |
| 74 | +在[Github的Release](https://github.com/autodotua/RemoteFFmpegGUI/releases)下载最新的包(Web包的地址不能含有子路径),或根据上文进行构建。 |
| 75 | + |
62 | 76 | ### 部署基于Windows +IIS的Web版本 |
63 | 77 |
|
64 | 78 | 1. 进入 `Generation/Publish/WebPackage` |
|
67 | 81 | 4. 确保安装了.NET 8 Hosting Bundle,并在Windows中启用了IIS。 |
68 | 82 | 5. 在IIS中新建网站,指定物理目录为之前新建的目录。右键其中的api目录,设置为虚拟应用程序。 |
69 | 83 | 6. 启动Host。共有两种方式: |
70 | | - - 运行`Host.Console.exe`。 |
71 | | - - 运行`CreateWindowsService.bat`(将自动申请管理员权限),将Host注册为自启动服务并立即启动。 |
| 84 | + - 运行`SimpleFFmpegGUI.Host.Console.exe`,将打开一个控制台程序。 |
| 85 | + - 在Windows系统中,可以运行`CreateWindowsService.bat`(将自动申请管理员权限),将Host注册为自启动服务并立即启动。 |
72 | 86 | 7. 打开IIS中设置的Url,检查网站运行是否正常。 |
73 | 87 |
|
74 | 88 | **注意:** |
|
126 | 140 |
|
127 | 141 | ### 注意事项 |
128 | 142 |
|
129 | | -- Clone仓库后,只需安装好相关SDK,即可进行构建,无需额外设置。 |
130 | 143 | - `libs`目录中二进制文件来自于:[FzLib](https://github.com/autodotua/FzLib)和[Wpf.Notifications](https://github.com/autodotua/Wpf.Notifications),均已开源。因版本固定,因此直接在`libs`目录中提供了二进制文件。 |
131 | | -- 开发者对WPF比较了解,对ASP.NET略有涉猎,对前端技术技艺不精,因此网页端做得比较简单。欢迎大家在此基础上进行二次开发。 |
|
0 commit comments