2021年9月30日木曜日

OpenShotでRobotizationフィルタを使用してロボット音声のように加工する

OpenShotでRobotizationフィルタを使用してロボット音声のように加工するには、以下の手順を実行します。

1. エフェクトから「Robotization」をドラッグアンドドロップで適用したいクリップの上のトラックに移動させます。

2. RobotizationフィルタのFFT Size/Hop Size/Window Typeプロパティを調整します。

関連情報

・OpenShotのそのほかの操作や編集方法については、以下のページを参照してください。
OpenShot Video Editorのまとめ

・OpenShot Video Editorのプロジェクトサイト
https://www.openshot.org/ja/

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

ffmpeg-ptyhonでnoiseフィルタを使用して動画にノイズをつける

ffmpeg-ptyhonでnoiseフィルタを使用して動画にノイズをつけるには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"noise"とパラメータを指定します。
本サンプルでは、すべてのプレーンでシード値321、強さ50、ノイズパターンをフレーム間で変更しています('t'フラグ)。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_noise.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("noise",all_seed=321,all_strength=50,all_flags='t')
ffmpeg.output(processed, input.audio, './lake_noise.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_noise.py

〇変換前動画

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

ffmpeg-ptyhonでnegateフィルタを使用して画像を反転する

ffmpeg-ptyhonでnegateフィルタを使用して画像を反転するには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"negate"を指定します。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_negate.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("negate",negate_alpha=0)
ffmpeg.output(processed, input.audio, './lake_negate.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_negate.py

〇変換前動画

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

ffmpeg-ptyhonでloopフィルタを使用して、指定個所をループする

ffmpeg-ptyhonでloopフィルタを使用して、指定個所をループするには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"loop"と以下のパラメータを指定します。
・loopパラメータ: ループ回数
・startパラメータ: ループが開始するフレーム数
・sizeパラメータ: ループ部分の長さ(フレーム数)

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_loop.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("loop",loop=5,start=0,size=60)
ffmpeg.output(processed, input.audio, './lake_loop.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_loop.py

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

Rocky Linux 8.4にブラウザベースSQLクライアントpgwebとPostgreSQLをインストールする

pgwebはPostgreSQLのwebインターフェイスです。

〇pgwebの画面

インストール手順

1. PostgreSQL13をインストール
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm

sudo dnf -qy module disable postgresql

sudo dnf -y update

sudo dnf -y install postgresql13-server postgresql13-devel postgresql13-contrib

sudo systemctl enable postgresql-13

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

echo "listen_addresses='*'" | sudo tee -a /var/lib/pgsql/13/data/postgresql.conf

sudo sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /var/lib/pgsql/13/data/pg_hba.conf

sudo sed -i 's#^host.*all.*all.*::1/128.*ident#host    all             all             ::1/128    password#g' /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf
# ネットワーク環境によって変更してください。
sudo systemctl start postgresql-13.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user test with password 'test';
"
psql -c "
create database test owner test encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF

2. SELinuxの無効化
sudo setenforce 0
sudo getenforce
sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. firewallで8080番ポートを開けます
sudo firewall-cmd --add-port=8080/tcp --permanent

sudo firewall-cmd --reload

4. 以下のコマンドを実行してpgwebをインストールします。
wget https://github.com/sosedoff/pgweb/releases/download/v0.11.8/pgweb_linux_amd64.zip

unzip pgweb_linux_amd64.zip

sudo mkdir -p /opt/pgweb

sudo mv pgweb_linux_amd64 /opt/pgweb

cat << EOF | sudo tee /etc/systemd/system/pgweb.service
[Unit]
Description=pgweb
[Service]
Type=simple
ExecStart=/opt/pgweb/pgweb_linux_amd64 --sessions --bind=0.0.0.0 --listen=8080
WorkingDirectory=/opt/pgweb
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable pgweb

sudo systemctl start pgweb

5. ブラウザからhttp://<pgwebをインストールしたホストまたはIPアドレス>:8080/ にアクセスします
接続先にlocalhost、ユーザ名/パスワード/接続先DBにtestを指定してください。

関連情報

・pgwebのgithubリポジトリ
https://github.com/sosedoff/pgweb

PySimpleGUIでグラフ要素を作成して円を描画する

PySimpleGUIでグラフ要素を作成して円を描画するには、 draw_circleメソッドを使用します。第一引数のタプルにX座標, Y座標を指定し、第2引数に半径を指定します。

サンプル実行手順

以下のファイルを保存して、実行します。
graph_circle.py
import PySimpleGUI as sg

sg.theme('SystemDefault')
graph = sg.Graph(canvas_size=(300,200), graph_bottom_left=(0, 0), graph_top_right=(150,100))
layout = [ [graph] ]

window = sg.Window('グラフ', layout=layout, finalize=True)

graph.draw_circle((50, 50), 40)
graph.update()

# イベントループ
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python graph_circle.py

〇実行結果

関連情報

PySimpleGUIでグラフ要素を作成して直線を描画する

PySimpleGUIでグラフ要素を作成して楕円を描画する

PySimpleGUIでグラフ要素を作成して点を描画する

PySimpleGUIでグラフ要素を作成してポリゴンを描画する

PySimpleGUIでグラフ要素を作成して四角形を描画する

PySimpleGUIでグラフ要素を作成して画像を描画する

PySimpleGUIでグラフ要素を作成してテキストを描画する

PySimpleGUIでグラフ要素を作成して円弧を描画する

・PySimpleGUIに関する他の記事はこちらを参照してください。

2021年9月29日水曜日

PySimpleGUIで単一選択リストボックスで選択された項目を別のテキスト要素に表示する

PySimpleGUIで単一選択リストボックスで選択された項目を別のテキスト要素に表示するには、サンプルのように以下のパラメータを使用します。
enable_events: イベントを有効化します
key: 要素を識別するキー値を設定します

サンプル実行手順

以下のファイルを保存して、実行します。単一選択リストボックスの選択を変更すると、下に配置したテキストが更新されます。

listbox_events.py
import PySimpleGUI as sg

MY_LISTBOX_KEY="mylistbox"

sg.theme('SystemDefault')

mytext = sg.Text('未選択', font=('Noto Serif CJK JP',30))
values = ["項目1", "項目2", "項目3"]
layout = [
  [sg.Listbox(values, select_mode=sg.LISTBOX_SELECT_MODE_SINGLE, size=(10,3), enable_events=True, key=MY_LISTBOX_KEY)],
  [mytext]
]

window = sg.Window('リストボックス: イベント', layout, size=(200,150))
# イベントループ
while True:
    event, event_values = window.read()
    # リストボックスの選択が変わった場合
    if event == MY_LISTBOX_KEY:
        mytext.update(value=str(event_values[MY_LISTBOX_KEY][0]))
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python listbox_events.py

〇実行結果

関連情報

PySimpleGUIでリストボックス要素を単一選択可能モードに設定する

PySimpleGUIでリストボックス要素を複数選択可能モードに設定する

PySimpleGUIでリストボックス要素のフォント・フォントサイズを指定する

PySimpleGUIでリストボックス要素の文字色・背景色を指定する

・PySimpleGUIに関する他の記事はこちらを参照してください。

Debian 11(Bullseye)にwebminをインストールする

webminはwebブラウザからサーバを管理できるツールです。

〇webminの画面
インストール後、ブラウザから https://<サーバ名またはIPアドレス>:10000/ にアクセスします。

インストール手順

以下のコマンドを実行します。
echo 'deb https://download.webmin.com/download/repository sarge contrib ' | sudo tee -a /etc/apt/sources.list

wget https://download.webmin.com/jcameron-key.asc

sudo apt-key add jcameron-key.asc

sudo apt-get -y install apt-transport-https

sudo apt-get update

sudo apt-get -y install webmin

sudo systemctl enable webmin

sudo systemctl start webmin

関連情報

・webminのwebサイト
http://www.webmin.com/index.html

Nextcloudのまとめ

NextcloudでDropboxのようにファイル共有できるだけでなく、アプリを導入することでグループウェアとしても利用することが出来ます。

Nextcloudのインストール

様々なプラットフォームにインストールすることが可能です。

Microk8sで同一ポッド内にPostgreSQLとNextcloudを配置する

Minikubeで同一ポッド内にPostgreSQLとNextcloudを配置する

Debian 11(Bullseye)にNextcloud22とPostgreSQL13をインストールする

Ubuntu 20.04にNextcloud20とPostgreSQL13をインストールする

CentOS 8-StreamにNextcloudとPostgreSQL13をインストールする

CentOS 8.1にNextcloudとPostgreSQL12をインストールする

Raspberry Pi(Raspbian Buster)にNextcloud18とPostgreSQL11をインストールする

Debian 10(Buster)にNextcloud18とPostgreSQL12をインストールする

※Nextcloud DesktopというローカルとNextcloudを同期するクライアントアプリケーションも用意されています。

CentOS 8-StreamにNextcloud Desktopをインストールする

Debian 10(Buster)にNextcloudクライアントをインストールする

基本的な管理・設定

Nextcloudの基本的な管理・設定方法には、以下の様なものがあります。

Nextcloudでユーザーを作成する

Nextcloudでグループを作成する

Nextcloudでログイン時画像を変更する

Nextcloudでテーマカラーを変更する

Nextcloudでアプリを有効化・無効化する

Nextcloudでシンプルなファイル共有機能のみにする

Nextcloudでタグを追加・削除・割り当てる

コンテンツに関するアプリ

Nextcloud内のコンテンツ(ファイル)を操作したり、分類・編集機能を強化するアプリには以下の様なものがあります。

Nextcloudに音楽ファイル再生機能を追加するMusicアプリを追加する

Nextcloudにホワイトボード生成機能を追加するWhiteboardアプリを追加する

Nextcloudに独自プロパティを追加する機能を追加するCustom Propertiesアプリを追加する

Nextcloudにチェックサム生成機能を追加するChecksumアプリを追加する

Nextcloudに動画ファイル変換機能を追加するVideo Converterアプリを追加する

Nextcloudに動画・音声・画像のメタデータ表示機能を追加するMetadataアプリを追加する

Nextcloudに3Dモデルビューワー機能を追加するFiles 3Dアプリを追加する

Nextcloudにチャート編集機能を追加するdraw.ioアプリを追加する

Nextcloudにシンプルなmarkdownノート作成機能を追加するNotesアプリを追加する

Nextcloudにマインドマップ作成機能を追加するMind Mapアプリを追加する

Nextcloudにmarkdownの編集・プレビュー機能を追加する

Nextcloudでコンテンツに対してコメントをつけられる機能を追加する

Nextcloudに右クリックメニュー機能を追加するRight clickアプリを追加する

Nextcloud上での共同作業を補助するアプリケーション

Nextcloud上での共同作業を補助するアプリケーションには次のようなものがあります。

Nextcloudに投票機能を追加するPollsアプリを追加する

Nextcloudにお知らせを掲示するAnnouncement centerアプリを追加する

Nextcloudにログイン画面にお知らせ表示機能をを追加するLogin Notesアプリを追加する

Nextcloudにカンバン機能を追加するDeckアプリを追加する

作業の効率化に関するアプリケーション

情報の入手や管理の効率を上げたりすることができるアプリケーションには次のようなものがあります。

NextcloudにRSSリーダー機能を追加するNewsアプリを追加する

Nextcloudに外部サイトリンクを追加するExternal Sitesアプリを追加する

Nextcloudに付箋紙機能を追加するCametアプリを追加する

Nextcloudに地図表示機能を追加するMapsアプリを追加する

Nextcloudに作業時間記録機能を追加するTimeManagerアプリを追加する

Nextcloudにウェブサイトを作成・管理する機能を追加するPico CMSアプリを追加する

システムをカスタマイズするアプリケーション

以下のアプリケーションでシステムをカスタイマイズすることが出来ます。

Nextcloudにログイン画面やヘッダーに風景画像を表示する機能を追加するSplashアプリを追加する

Nextcloudにダークテーマを追加するBreeze Darkアプリを追加する

Nextcloudにユーザのデフォルトグループ自動設定機能を追加するDefault Groupアプリを追加する

PythonとWebDAVプロトコルでの操作

PythonとWebDavプロトコルを使用して、外部からNextcloud内のコンテンツを操作することが出来ます。

Python WebDAV Client 3を使用してNextcloudのファイルを列挙する(pipenv版)
Python WebDAV Client 3を使用してNextcloudのファイルを列挙する(poetry版)

Python WebDAV Client 3を使用してNextcloud上にディレクトリを作成する(pipenv版)
Python WebDAV Client 3を使用してNextcloud上にディレクトリを作成する(poetry版)

Python WebDAV Client 3を使用してNextcloud上のファイルをダウンロードする(pipenv版)
Python WebDAV Client 3を使用してNextcloud上のファイルをダウンロードする(poetry版)

Python WebDAV Client 3を使用してNextcloud上の指定ディレクトリ配下のファイルをダウンロードする(pipenv版)
Python WebDAV Client 3を使用してNextcloud上の指定ディレクトリ配下のファイルをダウンロードする(poetry版)

Python WebDAV Client 3を使用してNextcloud上にファイルをアップロードする(pipenv版)
Python WebDAV Client 3を使用してNextcloud上にファイルをアップロードする(poetry版)

Python WebDAV Client 3を使用してNextcloud上に指定ディレクトリ上のファイルをアップロードする(pipenv版)
Python WebDAV Client 3を使用してNextcloud上に指定ディレクトリ上のファイルをアップロードする(poetry版)

Python WebDAV Client 3を使用してNextcloud上のファイルをコピーする(pipenv版)
Python WebDAV Client 3を使用してNextcloud上のファイルをコピーする(poetry版)

Python WebDAV Client 3を使用してNextcloud上のファイルを移動する(pipenv版)

Python WebDAV Client 3を使用してNextcloud上のファイルを削除する(pipenv版)
Python WebDAV Client 3を使用してNextcloud上のファイルを削除する(poetry版)

Python WebDAV Client 3を使用してNextcloud上のファイルの情報を取得する(pipenv版)
Python WebDAV Client 3を使用してNextcloud上のファイルの情報を取得する(poetry版)

APIによる管理・操作

APIを使用して管理業務を自動化したり、効率化することができます。
○ユーザに関するAPI
Pythonを使用して、Nextcloudのユーザ一覧を取得する

Pythonを使用して、Nextcloudのユーザを登録する

Pythonを使用して、Nextcloudのユーザを検索する

Pythonを使用して、指定したNextcloudユーザの情報を取得する

Pythonを使用して、Nextcloudのユーザ情報を更新する

Pythonを使用して、Nextcloudのユーザを無効化する

Pythonを使用して、Nextcloudのユーザを有効化する

Pythonを使用して、Nextcloudのユーザの所属グループを追加する

Pythonを使用して、Nextcloudのユーザの所属グループを削除する

Pythonを使用して、Nextcloudの指定ユーザをsubadminにする

Pythonを使用して、Nextcloudの指定ユーザをsubadminから降格する

○グループに関するAPI
Pythonを使用して、Nextcloudのグループを検索する

Pythonを使用して、Nextcloudのグループを作成する

Pythonを使用して、Nextcloudのグループメンバーを取得する

Pythonを使用して、Nextcloudのグループのsubadminを取得する

Pythonを使用して、Nextcloudのグループを削除する

○アプリに関するAPI
Pythonを使用して、Nextcloudのインストール済みアプリ一覧を取得する

PySimpleGUIでフレーム要素のツールチップを設定する

PySimpleGUIでフレーム要素のツールチップを設定するには、tooltipパラメータに表示する文字列を指定します。

サンプル実行手順

以下のファイルを保存して、実行します。
frame_tooltip.py
import PySimpleGUI as sg

sg.theme('SystemDefault')
frame_layout = [
  [ sg.Text('サンプル1') ],
  [ sg.Text('サンプル2') ]
]
layout = [
  [
    sg.Frame(title="Frame1",  layout=frame_layout, tooltip="Frameのツールチップです。")
  ]
]

window = sg.Window('サンプル', layout)
# イベントループ
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python frame_tooltip.py

〇実行結果

関連情報

PySimpleGUIでフレーム要素のタイトルを指定する

PySimpleGUIでフレーム要素の境界線の太さを指定する

PySimpleGUIでフレーム要素の上下左右のスペースを指定する

PySimpleGUIでフレーム要素のタイトルのフォントを指定する

PySimpleGUIでフレーム要素の線の種類を指定する

PySimpleGUIでフレーム要素のタイトル位置を指定する

PySimpleGUIでフレーム要素のタイトル色・背景色を指定する

・PySimpleGUIに関する他の記事はこちらを参照してください。

2021年9月28日火曜日

Debian 11(Bullseye)にNextcloud22とPostgreSQL13をインストールする

NextcloudはDropboxのようなファイルを共有できるサーバーアプリケーションです。

〇Nextcloudの画面

インストール方法

以下の手順を実行します。

1.PostgreSQL13のインストール
以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install postgresql-13

echo "listen_addresses='*'" | sudo tee -a /etc/postgresql/13/main/postgresql.conf

sudo sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /etc/postgresql/13/main/pg_hba.conf

sudo sed -i 's|^host.*all.*all.*::1/128|#host    all             all             ::1/128|g' /etc/postgresql/13/main/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf

echo "host    all         all         ::1/128          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf
※ネットワークアドレスは適宜変更してください
sudo systemctl restart postgresql.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user nextcloud with password 'nextcloud';
"
psql -c "
create database nextcloud owner nextcloud encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF
※パスワードは適宜変更してください

2. Nextcloundのインストール
sudo apt-get -y install apache2 \
  php7.4 \
  libapache2-mod-php7.4 \
  php7.4-gd \
  php7.4-json \
  php7.4-pgsql \
  php7.4-pdo \
  php7.4-curl \
  php7.4-mbstring \
  php7.4-xml \
  php7.4-zip \
  php7.4-intl\
  php7.4-imagick \
  unzip

wget https://download.nextcloud.com/server/releases/nextcloud-22.1.1.zip

unzip nextcloud-22.1.1.zip

sudo mv nextcloud /opt/nextcloud

sudo chown -R www-data:www-data /opt/nextcloud

sudo ln -s  /opt/nextcloud /var/www/html

cat << EOF | sudo tee -a /etc/apache2/apache2.conf
<Directory /var/www/html/nextcloud/data>
        AllowOverride None
        Require all denied
</Directory>
EOF

sudo sed -i 's/output_buffering = 4096/output_buffering = off/' /etc/php/7.4/apache2/php.ini

sudo sed -i 's/memory_limit = 128M/memory_limit = 1024M/' /etc/php/7.4/apache2/php.ini


cd /opt/nextcloud/core/fonts

sudo mv NotoSans-Regular.ttf NotoSans-Regular.ttf.bak

sudo wget -O NotoSansCJKjp-Regular.ttf https://github.com/minoryorg/Noto-Sans-CJK-JP/blob/master/fonts/NotoSansCJKjp-Regular.ttf?raw=true

sudo chown www-data:www-data NotoSansCJKjp-Regular.ttf

sudo ln -s NotoSansCJKjp-Regular.ttf NotoSans-Regular.ttf

sudo service apache2 restart

3. Nextcloudの初期設定
ブラウザからhttp://<ホスト名またはIP>/nextcloud/にアクセス
インストーラー画面で以下の項目を入力します
管理者アカウント: 任意の管理者アカウント名
パスワード: 任意の管理者アカウントのパスワード
データフォルダー: /opt/nextcloud/data
データベースのユーザ名: nextcloud
データベースのパスワード: nextcloud
データベース名: nextcloud
データベースのホスト名: localhost:5432

※インストール中、以下のURLを開こうとして、ブラウザ画面にエラーが表示された場合は、再度http://<ホスト名またはIP>/nextcloud/を開きます。
http://nextcloud/index.php/core/apps/recommended

インストール完了後、以下のコマンドを実行します。
sudo sed -i "s/);/'allow_local_remote_servers' => true,);/" /opt/nextcloud/config/config.php

sudo service apache2 restart

関連情報

・Nextcloudに関する他の情報は以下のまとめページを参照してください。
Nextcloudのまとめ

Rocky Linux 8.4にDokuWikiをインストールする

DokuWikiはデータベースを必要としないWikiソフトウェアです。

〇DokuWikiの画面
ブラウザからhttp://<ホスト名またはIP>/ にアクセスします。

インストール方法

以下のコマンドをシェルから実行します。
1. firewallでhttpの80番ポートを開けます
sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --reload

2. SELinuxの無効化
sudo setenforce 0

sudo getenforce

sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. dokuwikiのインストール
sudo dnf -y install httpd php php-common php-spl php-hash php-ctype php-json php-mbstring php-zip php-gd php-curl php-xml

wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

sudo tar xvfz dokuwiki-stable.tgz --strip-components=1 -C /var/www/html

sudo chown -R apache:apache /var/www/html/

sudo systemctl enable httpd

sudo systemctl restart httpd

インストール後、ブラウザからhttp://<ホスト名またはIP>/install.php にアクセスします。

関連情報

・DokuWikiに関する他の情報はこちらを参照してください。

・DokuWikiのWebサイト
https://www.dokuwiki.org/dokuwiki

PySimpleGUIでフレーム要素の境界線の太さを指定する

PySimpleGUIでフレーム要素の境界線の太さを指定するには、border_widthパラメータを指定します。

サンプル実行手順

以下のファイルを保存して、実行します。
frame_border_width.py
import PySimpleGUI as sg

sg.theme('SystemDefault')
frame_layout = [
  [ sg.Text('サンプル1') ],
  [ sg.Text('サンプル2') ]
]
layout = [
  [
    sg.Frame(title="Frame1",  layout=frame_layout, border_width=7)
  ]
]

window = sg.Window('サンプル', layout)
# イベントループ
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python frame_border_width.py

〇実行結果

関連情報

PySimpleGUIでフレーム要素のタイトルを指定する

PySimpleGUIでフレーム要素のツールチップを設定する

PySimpleGUIでフレーム要素の上下左右のスペースを指定する

PySimpleGUIでフレーム要素のタイトルのフォントを指定する

PySimpleGUIでフレーム要素の線の種類を指定する

PySimpleGUIでフレーム要素のタイトル位置を指定する

PySimpleGUIでフレーム要素のタイトル色・背景色を指定する

・PySimpleGUIに関する他の記事はこちらを参照してください。

ffmpeg-ptyhonでlimiterフィルタを使用して、プレーン値の最小値・最大値を指定する

ffmpeg-ptyhonでlimiterフィルタを使用して、プレーン値の最小値・最大値を指定するには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"limiter"とパラメータを指定します。minパラメータで最小値・maxパラメータで最大値を指定します。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_limiter.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("limiter",min=64,max=128)
ffmpeg.output(processed, input.audio, './lake_limiter.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_limiter.py

〇変換前動画

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

2021年9月27日月曜日

ffmpeg-ptyhonでlenscorrectionフィルタを使用して、レンズ補正する

ffmpeg-ptyhonでlenscorrectionフィルタを使用して、レンズ補正するには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"lenscorrection"とパラメータを指定します。

〇サンプルプログラム ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_lenscorrection.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("lenscorrection",k1=0.1,k2=0.2)
ffmpeg.output(processed, input.audio, './lake_lescorrection.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_lenscorrection.py

〇変換前動画

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

Debian 11(Bullseye)にFontBaseをインストールする

FontBaseで様々なフォントの表示・管理を行うことができます。

〇FontBaseの画面

インストール方法

以下のコマンドでFontBaseをインストールする事ができます。
sudo mkdir -p /opt/fontbase

cd /opt/fontbase

sudo wget https://releases.fontba.se/linux/FontBase-2.16.6.AppImage

sudo chmod +x FontBase-2.16.6.AppImage

cat << EOF | sudo tee /usr/share/applications/fontbase.desktop
[Desktop Entry]
Type=Application
Version=1.0
Name=FontBase
Exec=/opt/fontbase/FontBase-2.16.6.AppImage
Categories=Graphics;
EOF

関連情報

・FontBaseのウェブサイト
https://fontba.se/

Rocky Linux 8.4に音楽プレイヤーのSayonara Playerをインストールする

Rocky Linux 8.4に音楽プレイヤーのSayonara Playerをインストールするには、以下の手順を実行します。

〇Sayoanara Playerの画面

インストール方法

以下のコマンドを実行します。
1. snapのインストール(※既に導入済みの場合はスキップしてください)
sudo dnf -y install epel-release

sudo dnf -y install snapd

sudo systemctl enable --now snapd.socket

sudo ln -s /var/lib/snapd/snap /snap

2. Sayonara Playerのインストール
sudo snap install sayonara
※もし「error: too early for operation, device not yet seeded or device model not acknowledged」というメッセージが表示された場合は、しばらく待ってから再実行してください。

関連情報

・Sayonara Playerのウェブサイト
https://sayonara-player.com/

ffmpeg-ptyhonでhueフィルタを使用して、色相・彩度・輝度を設定する

ffmpeg-ptyhonでhueフィルタを使用して、色相・彩度・輝度を設定するには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"hue"とパラメータを指定します。
hパラメータで色相の角度(デフォルト0)、sパラメータで彩度(デフォルト1、-10~10)、bパラメータで輝度(デフォルト0、-10~10)を指定します。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_hue.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("hue",h=30,s=2,b=1)
ffmpeg.output(processed, input.audio, './lake_hue.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_hue.py

〇変換前動画

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

2021年9月26日日曜日

ffmpeg-ptyhonでeqフィルタを使用して、コントラスト・輝度・彩度を設定する

ffmpeg-ptyhonでeqフィルタを使用して、コントラスト・輝度・彩度を設定するには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"eq"とパラメータを指定します。
ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

コントラストの設定

コントラストの設定はcontrastパラメータで指定します。

ffmpeg_eq_contrast.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("eq",contrast=0.3)
ffmpeg.output(processed, input.audio, './lake_eq_contrast.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_eq_contrast.py

〇変換前動画

〇変換後動画

輝度の設定

輝度の設定はbrightnessパラメータで指定します。

ffmpeg_eq_brightness.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("eq",brightness=-0.5)
ffmpeg.output(processed, input.audio, './lake_eq_brightness.mp4').run()

〇変換後動画

彩度の設定

輝度の設定はsaturationパラメータで指定します。

ffmpeg_eq_saturation.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("eq",saturation=2.0)
ffmpeg.output(processed, input.audio, './lake_eq_saturation.mp4').run()

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ