console video REC
CarsonSlovoka opened this issue · 5 comments
待辦清單
TBD
v0.1
- 解決audio錄起來的聲音怪怪的,品質不良 (9eb9b17) https://github.com/CarsonSlovoka/go-src/issues/46#issuecomment-907806558
- 控制面板增加輸入的檢核條件(使用form的驗證來限制) (4514fdc)
- 新增一個控制面板,可以調整width, height, fps, ... 不用全部都使用命令列來完成
- 可以查看到settings和maxFrameRate等等 (有一個debug的選項)
- 解決錄製影像很模糊的問題
- 錄製可以包含聲音
- 修正video -h的指令會和-help指令搞混的問題
v0.0.0以前就解決的問題
- 有可以隱藏錄製的視窗的選項 (當我們錄製console本身的時候才不會有無限的鏡中鏡) (visibility)
- 可以調整寬、高、FPS
- 不要使用URI改用blob
- 可以下載檔案
- 可以抓取螢幕、視窗、網頁分頁來錄製 (3ab9fe7)
3ab9fe7
applyConstraints 可以達到動態調整,但似乎沒辦法真的改變
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 156 to 164 in 3ab9fe7
視窗的主要屬性主要還是取決於
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 118 to 129 in 3ab9fe7
透過mediaRecorder.requestData會觸發ondataavaiable的屬性,透過這邊可以寫入chunk的資料
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 34 to 56 in 3ab9fe7
在onstop中,最後要獲得的是dataURI,但因為這個是綁在event之中,所以利用Promise的方式,它會一直等待直到resolve回傳
5a0c098
-
改用blob,舊有的方式,使用URI其實沒有這個必要,因為不會有permission的問題
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 47 to 56 in 5a0c098
-
下載檔案,把blob的資源給它即可
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 190 to 191 in 5a0c098
b976e6f
-
錄製影片的寬度和高度不建議調整
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 157 to 160 in b976e6f
視窗的大小是一開始錄製的時候就決定(中間調整視窗大小解析度也是會跑掉),
如果這邊硬改,解析度會跑掉。
-
display and visibility
chrome/extensions/console/static/js/pkg/chrome/rec/media-recorder.js
Lines 150 to 152 in b976e6f
display 如果是 none會真的去除掉這個控鍵、也不會佔位(但是您也無法再供給canvas東西)
而visibility只是看不到,但東西還在。
d141491
-
解決錄製影像很模糊的問題
這個問題主要是因為調整大小和一開始錄製的選項不符所導致
而我們後來抓取stream的方法改用chrome/extensions/console/src/static/js/pkg/chrome/rec/media-recorder.js
Lines 144 to 147 in d141491
也就是不在透過canvas來獲取stream,直接抓video本身,如此我們改變video的大小和他提供的stream是兩回事,不會動到stream的內容,因此可以做到使用較小的圖,來觀測大的結果
-
錄製可以包含聲音
- 之前使用的是getUserMedia所以他的audio是必須具備麥克風才可以把聲音錄起來
- getDisplayMedia可以直接抓取電腦喇叭所撥出來的聲音
-
修正video -h的指令會和-help指令搞混的問題
chrome/extensions/console/src/static/js/src/console.js
Lines 192 to 195 in d141491
移除-h的選項免得和height搞混
20384d5
UI面板
-
新增一個控制面板,可以調整width, height, fps, ... 不用全部都使用命令列來完成
透過指令video -rec -controller
-
可以查看到settings和maxFrameRate等等 (有一個debug的選項)
新增一個debug的選項
chrome/extensions/console/src/static/js/src/console.js
Lines 215 to 220 in 20384d5