Memories (Nextcloud)

提供: FirstWiki
ナビゲーションに移動 検索に移動

Configuration

✔ Use the admin interface
v5.0.0 から管理パネルを使ってメモリーを設定できるようになりました。Nextcloud の管理者アカウントで [管理者設定] -> [Memories] に進んでください。ほとんどの場合で管理インターフェイスを使用して設定することをお勧めします。

Memories は写真やビデオから EXIF メタデータを抽出するためにバックグラウンドでインデックス作成ジョブを実行します。

Memoriesをインストールしたばかりで、インデックス作成を高速化したい場合は、以下のコマンドを実行してください。
occ コマンドラインの使い方については こちら を参照してください。

occ memories:places-setup    # set up reverse geocoding, will force re-indexing
occ memories:index           # index existing photo files (can run in parallel, refer to admin panel)
Cron
cron ジョブをセットアップしたり occ memories:index を定期的に実行する必要はありません

その後にアップロードされたファイルはフックを使って自動的にインデックス化されます。 外部からファイルをアップロードして files:scan を実行した場合は、バックグラウンドジョブがインデックスを作成します。 Nextcloud cronが正しく設定されていることを確認してください。

OCC with Docker
docker を使用している場合は、これらのコマンドを TTY で実行してください。

例、

docker exec -it my_nc_container php occ memories:index
#           ^^^  <-- this is required

Nextcloud AIO を利用している場合は こちらを.

おすすめアプリ

最高の体験とパフォーマンスのために以下のアプリをお勧めします。

  • Preview Generator - For pre-generating image previews (パフォーマンス向上のために必ず)
  • Recognize - 画像や人物のAIタグ付けを行うNextcloud公式アプリ
  • Photos - アルバムのサポートに必要な Nextcloud Photos 公式アプリ
  • Face Recognition - より細かい調整が可能な代替の顔認識アプリ。アルファステージ統合。

Storage Support

Memories は外部ストレージを含めほとんどの Nextcloud セットアップですぐに使えます。

  • Nextcloudの外から写真をアップロードする場合 occ files:scanocc memories:index コマンドを実行する必要があるかもしれません。
  • 外部ストレージでは、すべてのファイルをダウンロードする必要があるため、インデックス作成に時間がかかる場合があります。
外部ストレージでのトランスコード
ファイル全体が ffmpeg からローカルで利用可能である必要があります。
再生のたびに全体をダウンロードするのを防ぐため、外部ストレージではトランスコードを無効にします。

Transcoding

Memories はストリーミング最適化ため HLS (HTTP Live Streaming) とtrancecoding server を搭載しています。 動画を再生するにはトランスコーディングの設定が必要です。 HLSはブラウザがビデオを小さな塊として接続速度に適応した解像度でダウンロードすることを可能します。 その結果、ビデオ体験とパフォーマンスが大幅に向上することが期待されます。

管理パネルからトランスコードを設定できます。すべての設定を異なる種類の動画で注意深くテストしてください。

トランスコードに関する以下の注意事項をよくお読みください:

  1. 一般的に、トランスコーディングは非常に計算量が多くなります。RPi で Nextcloud を実行する場合は、うまくいかないでしょう。
  2. 外部ストレージを使用している場合、トランスコードは非常に遅いかまったく動作しないかもしれません。この場合、無効にする必要があります。
  3. トランスコードされたファイルのために、/tmp に大きな空き容量があることを確認してください。
  4. トランスコードに失敗すると、ビデオプレーヤーは元のビデオストリームにフォールバックします。/tmp/go-vod/<instanceid>.log の出力を確認してください。
  5. パフォーマンスを向上させるために、ハードウェアアクセラレーションを使用するようにトランスコーダを設定することができます。[./hw-transcoding.md このページ] を参照してください。
ハードウェア・アクセラレーション
Memories は VA-API と NVENC のトランスコードでハードウェアアクセラレーションをサポートしています。
互換性のあるハードウェアがあれば、アクセラレーションを使用することでパフォーマンスを大幅に向上させることができます。
詳細については、[./hw-transcoding.md このページ]の説明を参照してください。

Reverse Geocoding

逆ジオコーディングで写真の位置を見つける。 ジオコーディングを設定するには、地球の境界線データセットをダウンロードし、データベースに保存する必要があります。 これは、MySQL / MariaDB / Postgresでのみ動作します(SQLiteはサポートしていません)。 逆ジオコーディングを設定するには、Memoriesの管理画面にアクセスしてください。

World map of photos
リバースジオコーディングと写真マップは2つの独立した機能であり、互いに依存することはありません。

プレビューの容量

デフォルトでは、4096pxまでのプレビューがNextcloudによって生成されます。プレビューのサイズが プレビューサイズがオリジナルより大きくなる可能性があるため(特にHEICのような効率的な画像フォーマットを使用している場合)、ストレージスペースが限られている場合、これは理想的ではありません。 この場合、プレビューのサイズを2048pxのような小さいサイズに制限することができます。

Memoriesは、デフォルトでは、拡大時にフル画像を読み込むことに注意してください。 1024pxのような小さいサイズを使用すると、より多くのスペースを節約し、プレビューの生成時間を短縮することができます。 フル解像度で読み込む場合、JPEG以外のファイルはサーバー上で変換されるため、サーバーに負荷がかかる可能性があります。 これらのオプションは管理パネルから設定可能です。

occ config:system:set preview_max_x --value="2048" --type=integer
occ config:system:set preview_max_y --value="2048" --type=integer

また、プレビューのJPEG画質を60に設定すれば、低画質のプレビューでさらに容量を節約できます。

occ config:system:set jpeg_quality --value="60" --type=integer
occ config:app:set preview jpeg_quality --value="60" --type=integer

すでにプレビューを生成していて、再生成したい場合は、以下を実行してください(自己責任で、バックアップを取ってください)。

rm -rf <nextcloud-data-dir>/appdata_*/preview
occ files:scan-app-data

Nextcloudはインスタンスのロゴのカスタマイズをサポートしています。 ユーザーのテーマに合わせてロゴを適切にテーマ化するために、Admninistration => Theming で使用するロゴは以下の基準に従わなければなりません:

  • SVGファイルでなければなりません。
  • <svg> 要素の viewBox 属性は適切に設定されていなければならない。
  • 白い領域に対応する全てのパスは fill 属性が currentColor に設定されていなければなりません。そうすれば、これらの領域はユーザーのテーマに従って自動的に着色されます。
  • Nextcloud は currentColor をサポートしていないので <svg>要素のインラインスタイル(<svg style="color:white">)で色のデフォルト値(例えば白)を設定する必要があります。

これらの基準に従ったSVGのサンプルを以下に示します (from here):

<svg viewBox="0 0 256 128" style="color:white" width="256" height="128" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="m128 7c-25.871 0-47.817 17.485-54.713 41.209-5.9795-12.461-18.642-21.209-33.287-21.209-20.304 0-37 16.696-37 37s16.696 37 37 37c14.645 0 27.308-8.7481 33.287-21.209 6.8957 23.724 28.842 41.209 54.713 41.209s47.817-17.485 54.713-41.209c5.9795 12.461 18.642 21.209 33.287 21.209 20.304 0 37-16.696 37-37s-16.696-37-37-37c-14.645 0-27.308 8.7481-33.287 21.209-6.8957-23.724-28.842-41.209-54.713-41.209zm0 22c19.46 0 35 15.54 35 35s-15.54 35-35 35-35-15.54-35-35 15.54-35 35-35zm-88 20c8.4146 0 15 6.5854 15 15s-6.5854 15-15 15-15-6.5854-15-15 6.5854-15 15-15zm176 0c8.4146 0 15 6.5854 15 15s-6.5854 15-15 15-15-6.5854-15-15 6.5854-15 15-15z" />
</svg>

これらの手順を省略してPNGファイルを使用することもできますが、ロゴはユーザーのテーマに従って着色されないことに注意してください。 Memoriesでは明るい背景と暗い背景の両方を使用していますが、Nextcloudでは暗い背景にロゴを表示することがほとんどなので、これは特に厄介なことです。

Migration

Memories はファイルの EXIF メタデータを直接使用するので他のアプリとの移行は一般的に簡単です。 写真のファイル構造はそのまま保存されます。

Nextcloud Photos から移行する場合は何もする必要はありません。 アルバムとタグはそのまま Memories に引き継がれます。

Google Takeout から移行する場合は以下のコマンドを実行して JSON メタデータを EXIF に移動できます。

occ memories:migrate-google-takeout

Other notes

  • サーバーのタイムゾーンが正しく設定されていることを確認してください。写真に EXIF 日付が含まれていない場合、サーバーの時間が使用されます。
  • Nextcloudのサーバーチューニングを追加してください。トラブルシューティングの [/troubleshooting/#performance performance] セクションを参照してください。
  • アーカイブ機能は、タイムラインまたは現在のストレージのルートにある.archiveという別のフォルダに写真を移動します。例えば、このフォルダをコールドストレージにマウントすることができます。