構建支持中文字體的moviepy鏡像


首先是系統的環境問題。

linux 安裝 moviepy需要很多依賴,安裝起來費神費力。配置起來也非常麻煩,最簡單的辦法是直接使用他人構建好的鏡像文件。

再就是字體顯示問題。

鏡像中的imagmagick不支持中文的字體。生成的視頻中文亂碼,搜索了好!

長時間,決定自己手動構建一個鏡像。參考的文章鏈接:

linux追加中文字庫,解決imagemagick 中文亂碼的問題

Linux(Ubuntu,Cent OS)環境安裝mkfontscale mkfontdir命令以及中文字庫

步驟簡單分為幾步:

  • 拷貝本地Windows下的font(選擇你想要的)到鏡像中。
  • 鏡像安裝構建字體的依賴
  • 構建字體文件夾
  • build 鏡像

放一下Dockerfile

FROM dkarchmervue/moviepy:latest
# 我在同級目錄下創建了一個windows_fonts文件夾,里面放着從window下拷貝過來的文件。考本到鏡像的字體文件夾下。
COPY ./wondow_fonts/ /usr/share/fonts/windows/
# 更改ubuntu鏡像源,dkarchmervue/moviepy是基於ubuntu14.04,找一個鏡像源,在本地創建一個sources.list的文件,拷貝到鏡像中就可以。
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak
COPY sources.list /etc/apt/sources.list 
RUN apt-get update
# 安裝添加字體的依賴
RUN apt-get install ttf-mscorefonts-installer -y && apt-get install fontconfig -y\
     && apt-get install fontconfig \
    && cd /usr/share/fonts/windows/ && chmod 777 * && mkfontscale && mkfontdir && fc-cache
WORKDIR /work/

這樣就制作了一個基於dkarchmervue/moviepy 的帶中文字體的鏡像。
然后直接運行 docker build -t moviepy_cnfonts . 即可創建一個名為 moviepy_cnfonts的鏡像。可以把這個鏡像替代dkarchmervue/moviepy:latest這個鏡像作為運行 python文件的基礎鏡像。

運行moviepy官方的結尾特效 end_effect


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM