Wide Deep

広いジャンルに興味を示し、深く追求していきたい

フチなし印刷で色が薄くなる

状況

ポスターや名刺をPDFやパワーポイントなどで作成し印刷する際に、フチなし全面印刷を設定すると、色が薄く(コントラストが低く感じるような状態で)印刷される事象に遭遇しました。 なお、フチあり印刷の場合は想定した通りの色で印刷されました。

環境

  • プリンタ:G6000
  • 用紙:普通紙
  • 設定:フチなし全面印刷

原因

普通紙でフチなし全面印刷を設定しているためです。

対策

印刷設定で「マットフォトペーパー」や「光沢紙」を選択し、「フチなし全面印刷」を行うことで改善します。 ※メーカーからは推奨されないと思いますので、自己責任での対応をお願いします。

注意点

写真のように全体的にインクが多く乗る印刷では、普通紙だとインクの量が多すぎて紙が濡れてたわんでしまう場合があります。 また、インクのはみ出しが多いとプリンタに悪影響がありそうなので、なるべくはみ出さないように設定したほうがよいと思います。 参考リンク

まとめ

今回のような事象について、メーカー公式マニュアルに記載されたページは見つけられませんでした。 ユーザーとしては画面の色そのままが印刷されるものだと思っているので、改善してほしいところです。

異なるメモリを組み合わせたらパソコンが起動しない

自作PCでのメモリの相性問題は珍しくありませんが、今まで遭遇したことはありませんでした。

このたびDDR4の在庫が少なくなっていたため追加購入したところ起動しない事象に遭遇しました。

環境と構成

OS

Widows11

元のメモリ構成
  • CT8G4DFD8213 × 2(8GB)PC4-17000(DDR4-2133)
  • D4U2400PS-16G × 1(16GB)PC4-19200(DDR4-2400)
新しく追加購入
  • CT32G4DFD832A × 2(32GB)PC4-25600(DDR4-3200)

発生した症状

  • 元のメモリ構成 →  起動OK
  • 新しく追加購入メモリのみ → 起動OK
  • 追加購入メモリと既存メモリを混在 → ファンは回るが画面表示は全く無し
    • 電源ボタンを押すと Safe ModeでUEFIが起動

→ 新品メモリ単体では動作するため、メモリ故障ではなく相性問題の可能性が高い。

解決方法

UEFIBIOS)設定でメモリ動作周波数を[Auto]から [DDR4-2133MHz](メモリの中で一番遅い速度)に手動固定したところ、正常に起動しました。

ASUSの場合以下で設定できます。

Advanced Mode > AiTweaker > Memory Frequency > [DDR4-2133MHz]を選択

まとめ

異なるメモリを組み合わせる場合は、動作周波数も気にしよう。

androidstudioでFlutterのapkファイルを実機にインストールできない

環境

  • AndroidStudio
  • Flutter

状況

Flutterで作成したandroidアプリを作成して実行すると、エミュレータや、USBで接続した実機でのデバッグは成功します。 しかしAPKファイルを出力して実機で開くと、インストールができない、もしくはインストールしてもアプリ一覧に表示されませんでした。

原因・対応

AndroidManifestファイルに検証中に入れていた行があったのですが、これを削除しました。 android\app\src\main\AndroidManifest.xml

<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
    android:host="trade"
    android:scheme="photoapp" />-->

MP4動画がappleデバイスで再生できない

状況

最近はH.264から、圧縮率の高いH.265(HEVC)に移行が進んでいますが、まだH.265に未対応の機器もたくさんあります。 ところでH.265動画をFFmpegなどを使って変換したところ、iphoneなどのappleバイスでで再生できなくなったことはないでしょうか。 今回私が陥った状況を整理したので役立てていただければと思います

以下の状況に該当する場合、この記事が役立つかもしれません。

  1. android端末でH.265動画を撮影
  2. 容量を圧縮するために、Windows端末でFFmpegを用いて変換(ビデオのみ変換)
  3. androidWindows端末では問題ないが、iOS端末では再生不可で「MPEG-4 ムービー」と表示される
  4. ただし、VLCPlayerなどの再生アプリをiOS端末に入れれば再生可能


原因

H.265のFourCCがhev1 になっているため。

解説

ビデオにはCodecID(FourCC)と呼ばれる四バイトの識別子があります。

https://ja.wikipedia.org/wiki/FourCC

H.265のCodecIDにはhev1hvc1がありますが、appleバイスで再生できるのはhvc1 だけのようです。

https://video.stackexchange.com/questions/36359/what-does-the-tag-tagv-hvc1-means

FFmpegで変換するとデフォルトがhev1 になるため、appleバイスで再生できなくなります。

ただし、VLC media playerなどのサードパーティアプリであれば再生可能です。

https://apps.apple.com/jp/app/vlc-media-player/id650377962



対応策

FFmpegで変換する場合は、⁠-tag:vで指定することで変換できます。

ffmpeg -i input.mp4 -c copy -tag:v hvc1 output.mp4


まとめ

appleがhev1に対応してくれれば問題ないのですが。。

QNAP NASへのimmichインストール手順

はじめに

Googleフォトが有料化になって早n年 有料化に伴いQNAPのNASを購入し、写真や動画はすべてNASに保存するようにしていました。 QNAPにも写真閲覧アプリのQueMagieが存在しますが、Googleフォトの比べると劣っている感は否めません。 www.qnap.com

先日Qiitaの記事を読んでいたらimmichというセルフホストで実行するOSSの、Googleフォト代替ツールがあることを知りました。 qiita.com

せっかくNASがあるのでNASで構築しようとしましたが、immichに関する日本語の情報、特にQNAPで構築している情報がなかったので四苦八苦しながらなんとかインストールに成功しました。

参考・公式サイト

immich.app https://immich.app/docs/install/docker-compose/
https://github.com/immich-app https://note.com/nagomimakuri/n/n7581657dda12
https://www.reddit.com/r/immich/comments/1dcp83h/comment/lplohba/

QNAPNASへのimmichインストール

Synologyの場合QNAPのアプリケーションでいうアプリケーションで起動できるらしい QNAPでも同様の機能はあるが、YAMLファイル単体で指定する必要があるため修正が必要となる。 Container Station

前提

  • QNAP NASを利用
  • QNAP TS-253D4G(メモリ20GB&SSD読取キャッシュ)
  • ⁠Multimedia/FamilyPhotos 配下に写真を保存している。

準備

QNAP NAS(以下NAS)のIPとユーザでログインする immich-appフォルダと、配下にlibrarypostgres のフォルダを作成する。 QNAPの場合、/share/CACHEDEV1_DATA/が普段GUIからアクセスしている場所になりますが、シンボリックリンクが張られているので以下で作成できます。

mkdir /share/docker/immich-app/{library,postgres}

ファイルダウンロード

/share/docker/immich-app/ に配置してください。

docker-compose.yml

https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml

example.env

example.env は .env にファイル名を変更する

https://github.com/immich-app/immich/releases/latest/download/example.env

hwaccel.transcoding.yml

https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml

example.env修正

viなどで修正してください。

タイムゾーン変更

日本に変更します

TZ=Asia/Tokyo

DBパスワード変更

任意のパスワードに変更。外部からログインするパスワードではないため変更しなくても大丈夫です。

DB_PASSWORD= [任意のパスワード]

⁠docker-compose.yml修正

外部ライブラリの追加

⁠services のvolumesで写真を格納しているディレクトリを指定

https://immich.app/docs/guides/external-library

      - /share/CACHEDEV1_DATA/Multimedia/FamilyPhotos:/mnt/photos:ro

QSV利用

QSVを利用する場合は⁠services のextendsコメントアウトし、quicksyncとする

    extends:
      file: hwaccel.transcoding.yml
      service: quicksync # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
サンプル

私の場合は以下になりました。

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
      file: hwaccel.transcoding.yml
      service: quicksync # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
+     - /share/CACHEDEV1_DATA/Multimedia/FamilyPhotos:/mnt/photos:ro        # <--ここに追加
~省略~

コンテナ起動

バックグラウンドで起動します。

cd /share/docker/immich-app
docker compose up -d

すると準備が始まり、以下のメッセージとともにプロンプトが返ってきたら完了です。

[+] Running 6/6mmich_machine_learning  Started                                                    9.8s
 ✔ Network immich_default             Created                                                    4.7s                                                                                                                                        ✔ Container immich_redis             Started                                                   10.1s
 ✔ Volume "immich_model-cache"        Created                                                    0.1s                                                                                                                                        ✔ Container immich_postgres          Started                                                    9.8s
 ✔ Container immich_machine_learning  Started                                                    9.8s                                                                                                                                        ⠇ Container immich_server            Starting                                                  10.3s
 ✔ Container immich_redis             Started                                                   10.1s                                                                                                                                       
 ✔ Container immich_postgres          Started                                                    9.8s                                                                                                                                       
 ✔ Container immich_server            Started                                                   10.4s

正常に起動したらContainerStarionのコンテナ一覧を確認します。するとimmichの5つが実行中となっているはずです。

immichのコンテナが起動したことが確認できる

“can't set healthcheck.start_interval as feature require Docker Engine v25 or later”エラーが出た場合

⁠docker-compose.yml の⁠start_interval: 30sの値をコメントアウトします。

Health check start interval

If you get an error can't set healthcheck.start_interval as feature require Docker Engine v25 or later, it helps to comment out the line for start_interval in the database section of the docker-compose.yml file.

アクセス

2283ポートにアクセスするとユーザ登録画面がimmichが起動すると思います

ユーザ登録は画面の案内にしたがって進めていきます

http://[NAS-IP]:2283/

外部ライブラリの追加

管理>外部ライブラリ>ライブラリを作成>インポートパスを編集>パスを追加 ⁠docker-compose.ymlで定義したパスを追加し、その後Scanを実行します。

/mnt/photos

immichをアップデートするとき

cd /share/docker/immich-app
docker compose pull && docker compose up -d

まとめ

ContainerStationでubuntuを起動してその上でimmichを動かそうとしたりいろいろ試行錯誤していましたが、意外とシンプルな方法でできました。 今回は試していませんが、Portainerというもので動かすのも簡単とコメントしている方もしました。 今後は表示する写真のアクセス制限などの方法も調べてみたいと思います。