---
# System prepended metadata

title: Video 自动上传工具

---

# Video 自动上传工具

#### 在线阅读
前往连结：https://hackmd.io/@cNIxOT22RIGHwrwerwOFSQ/H1sXxHW7U

#### 一、为何使用此工具
节省时间，自动化。<br/>
假设有 1000 部视频需要上传，每部影片需要上传并等待10分钟：<br/>
人工作业则需要约7天连续操作才可完成。<br/>
使用自动上传工具，需学习10分钟，但后续等待程序自动上传完成即可。

#### 使用方式
1. **[一次性设定]** 打开 config.yaml 档案，将`siteCode`填上您的`站台代码`，将 `username` 与 `password` 填好您的 `对接ID`、`对接密钥`，记得要**储存档案**才会生效。
2. **[放置档案]** 将视频放到 `./src/videos/` 路径之下，档名：`[视频代码]_[名称].mp4` => 例如 `A001_老高与小莫.mp4`，请用「半形底线」作为分隔。
2. **[放置档案]** 将封面照放到 `./src/covers/` 路径之下，档名：`[视频代码].jpg` => 例如 `A001.jpg`
3. **[编辑资料]** 编辑 `./VideoList.xlsx` 档案
4. **[执行程序]** 点击两下 `app` 程序，即可开始上传视频

#### 我的 `站台代码`、`对接ID`、`对接密钥`，如何查询？
1. 登录后台
2. 选单点选「系统管理 > 站点设置」
3. 进入页面后，在最上方的选单，选择好您的站台
3. 同样在此页面，可看见`站台代码`，接着将捲轴滑至最下方，即可看见您的 `对接ID`、`对接密钥`

#### 二、如何执行app (进行自动上传)
Windows - **点击两下** `app.exe` 档案即可。（若无法执行，出现 `Windows Defender SmartScreen 已防止某个...`，请先点击右键 -> 内容，勾选「解除封锁」之后，确认。）<br/>
MacOS -  **点击两下** `app` 档案即可。（若无法执行，出现 `无法打开「app」，因为它来自未识别的开发者...`，请打开「系统偏好设定 -> 安全性与隐私权 -> 允许从以下来源下载的App」，点选「强制打开」。）

#### 三、执行app程序之后，发生了什么？
目标：后台的数据库产生视频纪录，云端空间储存视频档案，将两者匹配起来。
1. 首先，透过 `VideoList.xlsx`，逐一读取资料
2. 确认你的**视频档案**是否放好了？
3. 确认你的**封面照片**是否放好了？
4. 向 后台数据库 建立一笔视频的资料 （后台有**资料**了）
5. 如果 后台数据库 指示「需要上传视频」，程序会将这些「需要上传」的视频纪录成一个「清单」（整理资料）
6. 依据「上传视频的清单」，将视频档上传到云端空间（云端空间有**视频**了）

ps. 整个执行过程，讯息会纪录在 `log/[date].log` 档案里。

#### 四、Q & A 问与答
1. **问：无法执行app程序？**<br/>
  答：请确认下载的 video-manager，符合您的电脑系统。<br/>
  Windows 64位元系统，请下载 <a href="https://s3-ap-northeast-1.amazonaws.com/assets.9988.tw/cpw/video-manager/windows-amd64/video-manager.zip">windows-amd64/video-manager</a><br/>
  Windows 32位元系统，请下载 <a href="https://s3-ap-northeast-1.amazonaws.com/assets.9988.tw/cpw/video-manager/windows-386/video-manager.zip">windows-386/video-manager</a><br/>
  MacOS 64位元系统，请下载 <a href="https://s3-ap-northeast-1.amazonaws.com/assets.9988.tw/cpw/video-manager/darwin-amd64/video-manager.zip">darwin-amd64/video-manager</a><br/>
  MacOS 32位元系统，请下载 <a href="https://s3-ap-northeast-1.amazonaws.com/assets.9988.tw/cpw/video-manager/darwin-386/video-manager.zip">darwin-386/video-manager</a><br/>

1. **问：视频好像没上传？**<br/>
  答：看 `log/[date].log` 纪录是最快了解问题的方式。<br/>
  ★ 确认 `VideoList.xlsx` 里面「必填」的资料都有填写，
  ★ 确认封面档案&视频档案有依照规则放好，
  ★ 确认封面档案大小`1M`以内，
  ★ 如果上述都有做好，有可能是视频状态为：「3：视频处理中」，代表刚才传的视频，还在上传中。

1. **问：如何确定视频上传成功？**<br/>
  答：可以看 `log/success.log` 档案，有纪录在此档案，表示上传成功。或是打开后台，查看影片资料。

1. **问：视频上传成功，就可以马上使用吗？**<br/>
  答：不，上传成功之后，还需等任务流处理完成（几分钟时间），并且通知后台数据库，视频状态才会变更为`视频启用`。

1. **问：点击app，程序瞬间执行结束了，发生了什么事？**<br/>
  答：请打开 `log/[date].log` 档案，读取最后一段 `[Logger Init] ----` 起始的讯息，即可了解程序执行的讯息记录。**★★★ 任何事情都可查阅 log 档案**

1. **问：视频支持哪些副档名？**<br/>
  答：支持 WMV、RM、MOV、MPEG、MP4、3GP、FLV、AVI、RMVB 等格式。<br/>

1. **问：可以上传新视频，取代旧视频吗？**<br/>
  答：可以，程序会判断视频档案的「修改日期」，如果修改日期与先前不同，会上传新的视频。
  
1. **问：Excel 里「任务流Task」栏位是什么？**<br/>
  答：视频<u>上传后</u>的处理，加工的意思，例：sd_hd_fhd、sd_hd...等，各种任务，可择一处理。预设是「sd_hd_fhd」的任务流。

1. **问：任务流如何设定？**<br/>
  答：Excel 最后面，N栏 有写「任务流」的清单，只要填上 任务流的代码 即可。预设是「固定宽度」的任务流。
  
1. **问：资料与视频都上传过了，还可以更新「文字与封面照」的资料吗？**<br/>
  答：Excel 有一栏「IsUpdate」，将需要更新的资料，在此栏打「V」。

1. **问：如果已经上传过视频了，而视频档案依旧、资料依旧，再执行一次程序，会怎么样呢？**<br/>
  答：没事，程序不会上传视频、也不会更新资料。

1. **问：Orz，我不小心把程序关掉了，后台已有Video资料，可是程序还没将视频上传完成，怎么办？**<br/>
  答：重新执行一次即可。程序会将「已向后台数据库建立资料，但是上传未完成的视频」，纪录在一份database.db的文件里面，视频可被辨别为`上传中断`，因此仍会被上传。<br/>
  (提醒：但是如果换到其他电脑操作，或是不小心将database.db删除，那程序将会判别视频已经`上传中`，因此就不会重新上传。)<br/>
  万一遇到此情况，又必须从其他电脑补上传，或是误删database.db档案，则可以透过xls的`ForceUpload`栏位做处理。  
  
1. **问：上传失败，一直出现「err: UploadID ..., part 1 failed to get resp content.」的错误讯息？**<br/>
  答：基本上无解，只能放弃此视频、换个视频档案。当视频档案容量较大，程序会将视频档案做切割，分段上传，但因为不明原因可能会发生此错误，表示无法上传此视频。

1. **问：我碰见上述 Q&A 无法排除的问题，不知如何解决？**<br/>
  答：请提供 `log/[date].log` 档案，以利我们理解与排除问题。
