はじめに#
前の章では、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 からバケット名を削除し、ワーカーを使用してコンテンツを取得し、アクセス者に返す役割を果たします。これにより、Oracle オブジェクトストレージのアクセスドメインをカスタムドメインで置き換えることができます。将来的に画像ホスティングプロバイダを変更する場合でも、ブログ内のリンクを変更する必要はありません。
デプロイ後、環境変数OBJECT_STORAGE_BASE_URL
の値を先ほどのアクセスアドレスから/o/
までの部分に設定する必要があります。例:
これで、Works が提供するドメインを画像のプレフィックスとして使用したり、カスタムドメインを使用したりできます。ただし、この機能は CloudFlare がホストと DNS を提供している場合にのみ使用できます。すでに CloudFlare をドメインの解析業者として使用している場合は、Works の「カスタムドメイン」設定を構成するだけで、CloudFlare が自動的に HTTPS 証明書を生成します。
設定が完了したら、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 アプリが付属しています。
「ビデオ」を選択した後、「新規作成」をクリックし、スクリーンキャストする領域を描画し、「開始」をクリックして領域を録画します。録画を終了するには「終了」をクリックし、ビデオをプレビューできます。保存をクリックした後、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
または、releaseページから対応するプラットフォームのインストーラを選択してインストールすることもできます。
ffmpeg で生成したフレームから GIF を作成します:
gifski -o output.gif frame*.png
以下はデモです:
これで、GIF を画像ホスティングにアップロードし、独自のドメインでアクセスできます!
まとめ#
これで Oracle オブジェクトストレージを活用することができました。無料の 20G の容量は、私のような低トラフィックの個人ブロガーには十分です(ただし、ただ白くなりたいだけです)。ただし、現時点では画像ホスティングとしてのアクセス速度はまだ遅いですが、無料で提供されているため、他に何が必要ですか😂