2019年8月14日水曜日

Debian KDEで AudioCDを開く

目的:
音楽CDから、256kbps以上の mp3を作成したかった。
普通、KDEならAudexを使うのだが、現状 busterには KDE multimedia も Audexもないので、soundKonverter が残っている。
作業:
CDを挿入→アプリから[ファイルマネージャで開く]を選択すると→Dolphin 起動→"Audio CD"グループができて、WAVファイルやCDA,FLAC,MP3ディレクトリができている (これは仮想ファイル)。
  

これらの中から 目的楽曲.mp3を選択して、別ディレクトリにコピペすると初めて作業を開始して mp3ファイルができる。
ところが、ffprobeやexiftoolでビットレート見るとちょっと低い。

疑問:
上記方法でビットーレート設定はどうやる?

答え:
システム設定→マルチメディア→オーディオCD [オーディオ CD/IO スレーブ設定]→MP3エンコーダ で調整。


備考:
以上の働きは KF5 (もしくは KF4): KDE Frameworks という仕組みが関係している。

$ kcmshell5 または kcmshell4 (ヘルプ出力)
sage: kcmshell4 [Qt-options] [KDE-options] [options] module
A tool to start single KDE control modules
...略

$ kcmshell5 -list ← 使えるモジュールのリスト表示
次のモジュールが利用できます:
about-distro               - Information About This System
audiocd                    - オーディオ CD I/O スレーブの設定
autostart                  - 自動的に起動されるアプリケーション
...略

$ kcmshell5 audiocd
"答え"と同じ[オーディオ CD/IO スレーブ設定]ウインドウが表示
実は kcmshell5 --list で表示されたモジュール名を使うということは、KDE システム設定 と同じ。

$ kcmshell5 about-distro
$ kcmshell5 componentchooser
$ kcmshell5 filetypes
など
補足:
[MP3エンコーダ]可変ビットレートの設定 のデフォルト
    XingのVBR タグを書き込む ←これのみデフォルトで青チェック済
   □平均ビットレート:192 kbs ←これをチェックするとその他もチェックできる。
   □最高ビットレー: 320 bps
   □最低値を絶対的な下限にする
   □最低ビットレート:320 bps

* Xing (VBRではビットレートが一様でないのでXingヘッダーを付けて総時間を計算する)
* 固定ビットレート constant bitrate:CBR, 可変ビットレート Variable Bitrate:VBR,
平均ビットレート Averate Bitrate:ABR. VBRの平均をABRと呼ぶこともあり、VBRとABRはほぼ同じと思っていい(?)


2019年8月5日月曜日

ExiftoolでGPSタグを付ける

GPSタグを付ける
Debian GNU/Linux 10 Busterにて

目的 :
カメラの操作忘れで、GPSデータが未記録だった写真(jpg)に、
他の写真のデータを利用して ExifにGPSデータを書き込む。


結論 :
コマンドラインexiftoolを使って、
$ exiftool -tagsfromfile GPS有り.JPG -gps* -gpsmeasuremode= GPS無し.JPG

exiftooは、変更前の画像を `GPS無し.JPG_original' 名で保存する。
参考ファイルと、GPS Time Stampが全く同じで、違和感が残る。

色々 :
・Exiftool
 Debianでは、libimage-exiftool-perl をインストール。
 マニュアル/説明(英語) https://sno.phy.queensu.ca/~phil/exiftool/exiftool_pod.html
 かなり守備範囲の広いプログラム。

・exiftoolのコマンド例。

GPS有り.JPGからGPSというワードを含むタグを探す。
$ exiftool GPS有り.JPG | grep GPS
または
$ exiftool -gps* GPS有り.JPG
GPS Version ID                  : 2.3.0.0
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Altitude Ref                : Above Sea Level
GPS Time Stamp                  : 10:19:54
GPS Satellites                  :
GPS Status                      : Measurement Active
GPS Map Datum                   : WGS-84
GPS Date Stamp                  : 2019:07:31
GPS Altitude                    : 37.5 m Above Sea Level
GPS Date/Time                   : 2019:07:31 10:19:54Z
GPS Latitude                    : 33 deg 11' 18.23" N
GPS Longitude                   : 130 deg 21' 30.01" E
GPS Position                    : 33 deg 11' 18.23" N, 130 deg 21' 30.01" E

$ exiftool GPS無し.JPG | grep GPS
または
$ exiftool -gps* GPS無し.JPG
GPS Version ID                  : 2.3.0.0
GPS Altitude Ref                : Above Sea Level
GPS Satellites                  :
GPS Status                      : Unknown ()
GPS Measure Mode                : Unknown ()

出力は、タグ : データ の形で表示。exiftoolによる書き込みは、
exiftool -タグ="データ" 目的.jpg が基本。

タグ : データ オプションを利用するときの注意
* タグの空白は省く。
* データは""で囲む。エスケープも使う。
* タグ:データ の削除は -タグ= とする (上記結論の -gpsmeasuremode= のところ)。
* タグ GPS Position は、GPS Latitudeと GPS Longitudeの値があれば書き込まなくても自動生成される。無理に指定しても warningで無視される。
* タグ GPS Date/Time も、GPS Date StampとGPS Time Stampの値から自動生成。

・・・ということで、GPS Time Stampを変更しつつ、手書きコマンドの例。
$ exiftool -gpslatituderef="North" -gpslongituderef="East" \
-gpstimestamp="10:19:46" -gpssatellites=" " -gpsstatus="Measurement Active" \
-gpsmapdatum="WGS-84" -gpsdatestamp="2019:07:31" \
-gpsaltitude="37.5 m Above Sea Level" -gpslatitude="33 deg 11\' 18.23\" N" \
-gpslongitude="130 deg 21\' 30.01\" E" -gpsmeasuremode= GPS無し.JPG
    1 image files updated
ちなみに
$ exiftool -w txt IMG.JPG Exif ← 内容をIMG.txtに出力
$ exiftool -htmlDump IMG.JPG > img.html ← htmlに出力。見ても意味わからん
$ exiftool -lang ja -GPS IMG.JPG ← 日本語で表示。北緯 GPS Latitude / 東経 GPS Longitude などの検索が辛い