如何用 ASCII 來拍英文報告
如果你沒有看過類似的東西的話,你可以先看看這個影片…
source: 羅中圻 - https://www.youtube.com/watch?v=7VFTcmGRM-k
怎麽做到的?
我必須先承認這不是我寫的,是用一個叫做 video-to-ascii 的酷東西產生的 XD
看起來蠻酷炫的,而且使用起來也很簡單~
傳送門在此:https://github.com/joelibaceta/video-to-ascii
事前準備
如果你也想要在你的電腦上跑這套工具的話,你必須要先滿足以下幾個條件:
- Linux 或 macOS 作業系統(如果你還在用 Windows 的話可以嘗試虛擬機或是安裝 WSL)
- Python3 和 Pip3(如果有 Python3 通常就會有 Pip了)
如果你想要同時能夠播放聲音的話則還需要 PortAudio 和 FFmpeg,不過我就算都安裝了也沒有成功播放聲音,可能 PortAudio 需要適當的設定才行><
安裝
如果上面的條件有滿足的話,就可以來安裝 video-to-ascii 了。
打開你的終端機(Terminal),然後用 Pip3 來安裝:
pip3 install video-to-ascii
要安裝含聲音的版本則是:
pip3 install video-to-ascii --install-option="--with-audio"
是的,這樣就安裝好了!
使用方法
使用方法也是非常簡單,只需要輸入:
video-to-ascii -f myvideo.mp4
myvideo.mp4
指的是你要播放的影片。
你應該能夠在終端機裡看到畫面了,但有可能覺得頓頓的。這是因爲這套工具其實並沒有對多核心優化,當要運算的解析度太高的時候就會有點 lag。
至於解決的方法有幾個:
- 用好一點的 CPU 來跑
- 把終端機的視窗縮小
- 把終端機的字體放大(試試 <Ctrl +>),等效需要渲染的解析度就變小了
- 先渲染好再播放(下面會提到)
- 直接修改程式碼,讓他能夠支援多核心或是利用顯卡加速
我的 CPU 是 i5-4590,在上面的那個影片的解析度(每行的字數)大概就是它的極限了。如果你的 CPU 單核心的性能夠好的話,也有可能順到不行,不過我猜大部分的筆電使用者得到的結果應該是不會比我好到哪裡去 XD
選項
video-to-ascii 也有提供幾個選項,比較值得提的有這幾個:
模式
這裡的模式是指可以選擇用不同的字來組成畫面,有 filled-ascii
、ascii-color
、just-ascii
三種可以選擇,使用的方法則是:
video-to-ascii -f myvideo.mp4 --strategy <模式>
這邊也附上一張官方的圖片提供參考
預先渲染
假如你的電腦真的無法負荷如此的運算量的話,你也可以試試先渲染好再播放,使用的方法是:
video-to-ascii -f myvideo.mp4 -o <檔名>.sh
執行之後會開始慢慢跑,結束的時候會生出一個腳本檔,你可以直接執行它來播放或是傳給朋友看:
sh <檔名>.sh