---
# System prepended metadata

title: 'vott_tracker.py 新增來源6幀或5幀檢查,與將資料寫回.vott'
tags: [study]

---

 vott_tracker.py 新增來源6幀或5幀檢查,與將資料寫回.vott
===

## Table of Contents

[TOC]

## 文件板本
更改在<v0.0.2>之後,還尚未到<v0.0.3>
### python:
![](https://i.imgur.com/XnHDuj0.png)

### VoTT_NTUT:
![](https://i.imgur.com/VorEWIh.png)

log:
:::info
第一行指令為直接測試python的指令,詳細請參考 "測試指令 章節"
:::

![](https://i.imgur.com/oeVuHNi.png)

## VoTT fps 設定位置

來源為6幀,即下圖VoTT專案設定的fps
![](https://i.imgur.com/9OjH40D.png)


VoTT產生的id-asset.json來源格式之fps解析
---
由於設定為6fps,所以等同於影片1秒有6幀
統計出每幀的除以1秒鎖得到的未影片時間位置
下圖為3秒的第一幀
![](https://i.imgur.com/haok5rB.png)


計算1秒幀數相對應的時間位置,以影片3秒開始當範例


```gherkin=
設定為6幀 1/6 = 0.166667
timestamp: 3
timestamp: 3.166667
timestamp: 3.333333
timestamp: 3.5
timestamp: 3.666667
timestamp: 3.833333
```


```gherkin=
設定為5幀 1/5 = 0.2
timestamp: 3
timestamp: 3.2
timestamp: 3.4
timestamp: 3.6
timestamp: 3.8
```


1.關於 VoTT/NTUT 的修改
---
:::info
詳細請參考commit如下：
commit:f3cd287f0500ae9e90efb61e969fd798a6dbe93c
(NTUT)(TMP) rename for_python_path.log and add vott_target_path.tmp

:::
### 修改 for_python_path.log 
```gherkin=
修改成vott_source_info.tmp
```
### 新增 vott_target_path.json 
```gherkin=
新增部份,將讀取到的 project.vtt位址＋檔名 寫成json格式
VoTT_NTUT/UBU18/src/services/projectService.ts
```
![](https://i.imgur.com/drRWDZX.png)

只要按下auto track按鈕即會產生檔案如下
![](https://i.imgur.com/UYdbJlg.png)

```gherkin=
檔名：vott_target_path.json
{
    "options": {
        "folderPath": "/home/ivan/HD1/hd/Drone_Target/Drone_027"
    },
    "project_name": "Drone_027"
}
```

### 修改 trackingTimeTool.tsx 並更名 
```gherkin=
由於要將輸出vott_target_path.json 做在這一個按鈕事件,所以修改名稱
已達到將原本只要做取得tracking time的程式做延伸
(---)a/src/react/components/pages/editorPage/trackingTimeTool.tsx
(+++)b/src/react/components/pages/editorPage/trackingTool.tsx
```
下圖為新增按下後去執行 vott_target_path.json
![](https://i.imgur.com/6rJrLdh.png)



2.關於 vott_tracker(python) 的修改
---
:::info
詳細請參考commit如下：
commit:
(NTUT)(READ_VoTT) read frameExtractionRate from project.vott file

:::
### 1.新增read_project_vott.py 來讀取project.vott

由於目前只有fps15,要在新增fps5與fps6的檢查,需要讀入project.vott來自辨別
使用者是設定那一個fps

```gherkin=
舉例：
開啟traget位置的project.vott
$ vim Drone_027.vott
可以找到如下的fps位置
```
![](https://i.imgur.com/N7V65BW.png)

新增 vott_read.py


測試指令
---
請先確認下列位置，以下位置只是舉例
```gherkin=
parameter1:  ../../../Drone_Target/vott_source_info.tmp 
parameter2:  ../../../Drone_Target/vott_target_path.json 

執行：
$ python vott_tracker.py ../../../Drone_Target/vott_source_info.tmp ../../../Drone_Target/vott_target_path.json
```


temp
---
~/HD1/hd/VoTT/VoTT_NTUT/UBU18/node_modules/vott-react/dist/lib/models/models.d.ts
/HD1/hd/VoTT/VoTT_NTUT/UBU18/src/services/projectService.ts
 saveProjectPath2
 ILocalFileSystemProxyOptions 
 
 ~/HD1/hd/VoTT/VoTT_NTUT/UBU18/src/services/projectService.ts
 await storageProvider.writeText('../vott_project_path.log', JSON.stringify(storageProvider, null, 4));
 
 ###### tags: `study`