szgislle

szgislle

生命不息,折腾不止!

使用Oracle對象存儲作為博客圖床(二)

前言#

上一章我們已經做到了使用 picgo 上傳圖片並獲得一個可以公開訪問的鏈接,這章介紹如何使用 CloudFlare 代理圖片的訪問並加上自定義域名,以及錄屏轉 gif 的應用。

CloudFlare 代理訪問#

創建一個 Cloudflare Workers,代碼如下:

export default {

  async fetch(request, env) {

    const url = new URL(request.url);

    const path = url.pathname.replace('/blog/', '')

    const originUrl = `${env.OBJECT_STORAGE_BASE_URL}${path}${url.search}`;

    const res = await fetch(originUrl)

    return new Response(res.body);

  },

};

以上代碼功能是將訪問的 url 去掉存儲桶名稱,通過 workers 獲取內容並返回給訪問者,充當了一個代理的角色,這樣我們可以使用自定義的域名來替代甲骨文對象存儲的訪問域名,以後換了圖床供應商也方便切換,因為博客裡的鏈接是不用改的。

部署完之後需要配置環境變量OBJECT_STORAGE_BASE_URL的值為上文的訪問地址,一直到/o/處,如:

image.png

現在你可以使用 works 提供的域名作為圖片前綴訪問,也可以自定義域名,該功能只限於你自己的域名是由 CloudFlare 托管解析的才可,如果已經使用 CloudFlare 作為域名解析商,在 works 配置的Custom Domains配置即可,CloudFlare 會自動生成 Https 證書。

image.png

配置好之後將picgo的配置文件的urlPrefix改為上面的域名:

{
    "aws-sr3": {
      "accessKeyID": "{ak}",
      "secretAccessKey": "{sk}",
      "bucketName": "blog",
      "region": "ap-chuncheon-1",
      "uploadPath": "images/{year}/{month}/{md5}.{extName}",
      "endpoint": "https://{ns}.compat.objectstorage.ap-chuncheon-1.oraclecloud.com/",
      "acl": "public-read",
      "pathStyleAccess": true,
      "urlPrefix": "https://img.linkzz.eu.org",
      "disableBucketPrefixToURL": true
    }

}

GIF 圖製作#

有時候我們有錄屏製作 gif 的需求,不管你在什麼平台,總有軟件滿足製作 gif 的需求,這裡我只是介紹我的方法,如果你覺得麻煩,以你自己的方法為準。

錄屏#

windows 商店有一個錄屏軟件叫截圖工具,可以區域錄屏,一般自帶了這個 UWP 程序。

image.png

打開他選擇 “視頻” 之後點擊 “新建”,畫出錄屏區域點擊 “開始” 即可對所畫區域錄制,點擊 “結束 “就可以預覽視頻,點擊保存,之後使用 MP4 轉 GIF 工具即可得到 GIF。

MP4 轉 GIF#

我使用的是 ffmpeg + Gifski

ffmpeg#

  • ffmpeg - 大名鼎鼎的圖像處理軟件不用我多介紹了吧,使用他可逐幀提取視頻圖片:
ffmpeg -i video.mp4 farme%04d.png

Gifski#

  • Gifski - Gifski 是一個開源的視頻轉 GIF 工具,可以生成高質量 GIF,我們使用的是他的命令行版本。

如果你已經安裝了rust,可以使用cargo安裝

cargo install gifski

或者你可以從 github 的release頁面選擇相應平台的安裝包安裝

使用 ffmpeg 生成的套圖生成 gif:

gifski -o output.gif frame*.png

下面是演示:

output.gif

這樣就可以將你的 gif 上傳到圖床,通過自己的域名愉快的訪問啦!

結語#

至此 Oracle 對象存儲就算是利用起來了,其免費 20G 的額度對我這種小流量個人博主來說夠用了 (~~~ 其實只是想白嫖~~~),當然目前來看訪問速度作為圖床來看還是太慢了,不過也不要錢,還要啥自行車😂

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。