2015年2月26日木曜日

sed をやめて perl にしよう。perl sedのススメ 文字列置換・一括

sedは起動にも使われていたりシステム全体に関わっていたりするので、sedを削除したりリネームするわけにはいきません。sedはなくてはならないツールです。

ただ、正規表現の文法はperlでいいよね派なので。覚えることは減らしたい。方言は減らしたい。

zsh なので、.zshrcに


alias perlsed="perl -i -pe"
alias psedbak="perl -i.bak -pe"
#perl -i -pe 's/(123)/${1}456/'
という記述をいれています。-iで上書き、-i.bakとするとその拡張子(bak)でバックアップが作られます。

abc.txt には、Doctor という文字列があったとして、

$ perlsed 's/doctor/Dr./' abc.txt

で一括で変更できます。この記述内容をperlの正規表現で詳細に記せるので便利なわけです。sedの文法は忘れてもいいです。私はほぼ忘れたいと思います。

Dr.James Brown male
Dr.Ann Esex female
という医師名簿テキスト1.txt があって、男性にMr. と女性にMs.とつけ直すとすると
perlsed 's/^(Dr.)(.*? )(female)$/Ms.$2/' 1.txt
perlsed 's/^(Dr.)(.*? )(male)$/Mr.$2/' 1.txt


と2回繰り返せば複雑な記述をしなくても処理できますね。
一行でもいけるでしょう。

私が日常必要としているのはこの程度なのでsedでもいいわけですが、perlの作法だけ気にすればいいので結局楽かなと思っている次第です。

ubuntu/mint rename コマンドは、perlなので超便利。初心者こそ試してみるべき。

一括でファイル名を変更したい。
置換には正規表現が使いたい。
エレガントに処理したい。(=楽したい)

その答えがrenameコマンドです。

mv使うとか、for で処理するとか。それはおいておきましょう。いまどきエレガントと言えるかどうかは別として。議論はしません。

さて、

abc.txt AAAabc.txt があったとして、

$ rename "s/abc/あいう/" *.txt

とすれば、2つのファイル名abc部分があいうに置換されます。

肝は、「強力なperlの正規表現」が使えるということです。これは美味しいです。

覚えておいて損はありません。

使いこなしのためにというよりむしろ泣かないために:

rename -v で成功結果を表示
rename -n では実際には置換しない。失敗しないためにはこれを覚えておきましょう。
-fでは同一名称でも強制的に既存ファイルを上書きします。

man rename でも確認できます。
実態は、perlのスクリプト。


[20150106]全角半角ESC入れ替える(0105 Ver.).desktop3

というファイルがありました。

$ rename -n "s/\[.*?\]//" *.desk*3
[20150106]全角半角ESC入れ替える(0105 Ver.).desktop3 renamed as 全角半角ESC入れ替える(0105 Ver.).desktop3

というように、ファイル頭の[2015うにゃ]が削除されていることがわかると思います。

rename -n 's/(\[.*?\])(.*?)(ESC)(.*?)/$3$2/' *.desk*3
renamed as ESC全角半角入れ替える(0105 Ver.).desktop3
となりますね。

というふうに、perlの基礎で対応できますから、便利です。

シェルはzshを使っています。bashとたまに動きが違います。

2015年2月25日水曜日

強引なインストール miniDLNA 1.1.4 deb 1.1.5 deb on Linux mint 17.3

よほどの理由がない限り、メンテされているパッケージを使うべきという原則を忘れずに。

binary storageにおいてあります

不具合があればアンインストールしてください。^^; 導入はクリックするだけ。環境は、14.04.1/17.1 64bit AMD64 です。その他設定については、これまでの記事をご覧ください。右上でminidlnaで検索するといいかも。

Download MiniDLNA 1.1.5
https://sites.google.com/site/hitobashira/home/binary-storage

minidlna1.1.5についての補足

minidlna 1.1.5暫定版(ダウンロード) のインストール方法は次の http://poor-user.blogspot.com/2016/02/how-to-install-minidlnareadymedia-115.html

起動スクリプトがうまく作られないので(中にありません)、インストールするというよりも、既存1.1.2などでうまく動いていれば、minidlnad のみバックアップして、この中のminidlnadと差し替えてみてください。だめなら戻してください。1.0.0の頃からお使いの方は自分で起動スクリプトを作成したはずなので、それと同じ手順を踏めばよいのです。

通常インストールは、ubuntu 15.04では問題がないので、次のLTS(16.04,mint18)ではだいじょうぶかなと思います。追記:だいじょうぶでした。

バイナリを差し替えました。ファイル名は同じですが、コンパイル環境が少し違います。


Universal media server がトランスコードする場合(もしない場合も)はおすすめです。Windowsでは、WMPとUMSで、Linuxでは、MiniDLNAとUMSで、かなりハッピーな生活を送っています。とりわけUMSは毎月ブラッシュアップされていくのでとても楽しみです。

その他補足
  • catfish は検索ツール。apt-get では最新版が入らないため、compile。
  • minidlnaは、最新版は自力でいれないといけないため、compile。
  • 最後は、minidlnaのTranscodeバージョンです。2015年2月25日段階で未使用です。compileは少し前。公開中止しました。 公開中止しました。だめなので。
  • それぞれソースは、launchpad、sourceforge などから入手できます。
  • 15.04系列では、sudo apt-get install minidlna で、minidlnaがインストールできます。インストール候補に復活しています。上記バイナリは使わないようにしましょう。

    enjoy!

2015年2月21日土曜日

EACやそのケーススタディ wav,ape,tak,tta,flac,+cue FLACに決めました。ubuntu/mintの楽曲管理

FLACで行こう::可逆圧縮ファイル・パーフェクトマニュアル(への道のり)


  • FLACで決まった。アップルもサポートした。
  • 可逆圧縮戦国時代もいちおうの結果を見た。FLACが制覇。
  • SONYは自社フォーマットを捨てた。


(3年ほど検討に検討を重ねた自分の結論::長い序文なので、読み飛ばしてください)

ひとつのファイルで楽曲管理/FLACで決まり

当初は、アルバム単位の単一ファイルで楽曲管理すると楽かなと思いたち、ubuntu/mintで試行してきました。Windowsは圧倒的にこの点リア充なので楽ちんですね。自身の結論からいうとよほどのニッチなニーズさえ持たなければ可逆圧縮音声ファイルの取扱では、特にLinuxで困ることはないってことがわかりました。むしろLinuxの利便性のほうが自分のなかでは上回ります。ニッチなニーズというのはどうしてもWindowsアプリケーションを使いたいというようなものです。そこまで無理して使わなくてもいいのではないか、と。


以下は数年に渡る検討のあーでもない、こーでもないを記録したものです。そうとう以前に中間総括としては(自分は主力フォーマットはFLACで決定しました)になっていましたので問題は特にありません。

当初はCD/PCMレベルのWAV,FLAC(44.1kHz/16bit)を主たる議論の対象にしていましたが、ハイレゾ含めて、FLACで決まりました。ピュアオーディオ志向の方はいろいろ深いものがあるのでしょうが、ここではカジュアルオーディオなので、FLACの利便性に軍配が上がります。

 何が正解なのだろう:FLACに決めました。次の節へ


「ひとつのwav + cue 」が便利なのかな?! 悩み中です。ちなみに、一定の年齢層以下であればアルバム単位という視聴概念が希薄です。圧縮フォーマットとしてflacは次世代標準になりそうな勢いですが、圧縮していないwavも扱いは楽(そのままだし)なのは当然。タグも埋め込まないわけではありませんし。cueが埋め込みできることもわかっていますが、それは除外します。mkaも除外します。


タグの問題を考慮すればflacがいちばんよさそうです(良いです。とりあえず自分のところではトラブルが一度も起きていない)。id3タグの混乱はまだ続いているわけですしね。FLACに決めました、その2

そもそもストレージが安くなってきているので、母艦では圧縮保存しなくてもいいのでは?という考えが浮かぶのも不思議ではありません。もちろん展開にCPUパワーくわないほうがいいのではないかという観点も一定程度はだいじでしょう。FLACに決めました、その3

ただ、この考えはあっけなくハイレゾFLACの前には否定されます。なにせハイレゾFLACはそれだけでも巨大です。圧縮なしの状態だとSSDがいくらあっても足りなくなるかもしれません。購入費も大変です。仕様上32bitを除外すれば、FLACに決めました。32bitは自分でどうこうする範囲ではなくて、特定ターゲットに向けた販売のためのフォーマット(高品質のためのとはいわないところが素直じゃない)ともいってもいいわけで。

――圧縮率の高さでいえばAPEは優秀とはいえ、WAVに比べてたとえば30%減程度ですね。他のフォーマットと比較しても誤差レベルの差です。flacはWindows10で標準サポートされたのでそれを契機にWindowsのみならずLinux系でもアプリケーション環境が充実していくと思われます(もともと対応しているので変化する点が特にない)。ついでにいえば、当社調べでAPEもFLACもTTAも圧縮効率は誤差レベルです(繰り返します)。議論しても仕方がないです。今後大手が採用し、幅広いユーザーが利用する可能性がないもの(個人的断言)を使っても仕方ないので、FLAC以外はめんどくさいだけ。FLACです。

考慮すべきは、汎用性。壊れないか。バージョン違いで復元できないなどのトラブルはないか。それも含め、今後の標準化しだいではないかと思います。――FLACに決めました。FLACが標準になります。Appleの世界は特別なので議論から除外。


結論からいえば、flac の方がAPEなどの他のフォーマットよりコンビニエンスと断言してもいいのではないかといいうことになります。以下、詳細は時間がないため、アウトラインのみ整理してみました。スケルトンです。FLACに決めました

本論開始::事前作業として、EACをダウンロード、設定


(Exact Audio Copy本家より落とすより、CNET経由がいいかと個人的には思います。adwareがはいっている気がする。気のせいかも)

今日現在の最新安定版であるWINE 1.8で、EAC1.1がうまく動作します。ubuntuでもこのクラスの性能の取り込みソフトウェアはありますが、 これが楽かも。

インストール(簡単なので略)

取り込み(吸い出し) のために、日本人アーティスト、曲名、本人名日本語という条件のCDを使います。マルチバイト、ワイドキャラクターの文字列が含まれるってことですね。英語CDで試しても仕方がないので。インストール作業はWindows初心者用記事をググってください。というか、そのままで何も考えなくてもいい気がしますけれど。

(リッピング作業、省略:Windows初心者向けサイトをみてください。丁寧なページがいくつかあります)

完了すると3つのファイルが出来上がっています。
  1. log 文字コード : UTF-16 ※取り込んだ時点でエラーがでなければ特に確認の必要はない。
  2. cue文字コード : アスキー、Shift_JIS
  3. wav バイナリ・CDイメージ
(タグ付け、曲名ファイル化をしないのであれば、GUI、ドラッグ&ドロップで、WAV化できますけどね。あはは。そうなんですよね。カンタンなんです) これで以下の準備ができました。その前にチェック作業です。

Cueシートの文字コードは確認しよう。UTF-8推奨


一般に、正常取り込みの場合ログはみないですよね。飛ばします。

少なくとも、CueはUTF-8にエンコードを共通にしておくと何かとはかどります。たとえば、再生ソフトのAudaciousやCDemuは、CUEがシフトJISだと動作が正常ではありません。最新版のFLACONは、ShiftJISに対応していただけたようです(ロシア語完全対応のついでともいう)。日本語がSJISでも通るようになりました。これでかなり使い勝手が向上しました。ただ、統一しておくほうが楽です。
考えたくなければ、UTF-8にしておく。Windows下で使う場合もUTF-8のままで問題ありません。
改行コードは、LFにしなくても、だいじょうぶ。Winから使う場合とLinuxから使う場合を共通化したいのなら、UTF-8必須です。というか、クリエイター側がUTF-8でしか扱いづらい文字を使う時代に変わってきています。

この注意さえ守ればどんな環境でも母艦セット:Cue+WAV(flac)が空気のように扱えるはずです。文字コードはWindowsでも問題が出る場合もあるみたいですね。(しらんけど) UTF-8にとにかく統一しましょう。たぶんそれがハッピーかと思います。


nkf -g *.cue  文字コード調べる
nkf -w --overwrite *.cue UTF-8で上書き。
上書きしなくても、*.utf-8.cue にしておけばいいです。

次の行は確認してください。これはFLACではなくて、WAVです。アプリによっては、そのあたりを自動的に処理してくれますが、合わせておくほうがよいですね。また、フォーマットによっては、Cueシートを圧縮ファイルに埋め込むことができ、1ファイル管理も可能ですがそれは本稿では触れません。

実際にEACを使ってみる


上原れなさんのアルバムがamazonから届いたところなので。具体でいきましょう。

FILE "上原れな - Emergence.wav" WAVE
のWAV形式をFLACにしてみます。
flac *.wav
flac 1.3.0, Copyright (C) 2000-2009, 2011-2013  Josh Coalson & Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.
上原れな - Emergence.wav: wrote 479090446 bytes, ratio=0.698

FLACが古いですね。ま、いっか。

FLACにしたので、Cueの頭の方 この場合は、7行目のFILEではじまる行に修正が必要です。具体的には、
FILE "上原れな - Emergence.flac" WAVE
にしておきます。日本語がはいっても構いません。赤いところだけ。

     1    REM GENRE JPop
     2    REM DATE 2014
     3    REM DISCID DA0F340E
     4    REM COMMENT "UTF-8 Cue"
     5    PERFORMER "上原れな"
     6    TITLE "Emergence"
     7    FILE "上原れな - Emergence.wav" WAVE  <<実ファイルと一致させる。WAVの場合。
     8      TRACK 01 AUDIO
     9        TITLE "届かない恋'13"
    10        PERFORMER "上原れな"
    11        INDEX 01 00:00:00

    72      TRACK 14 AUDIO
    73        TITLE "さよならのこと"
    74        PERFORMER "上原れな"
    75        INDEX 00 59:32:52
    76        INDEX 01 59:34:69

freedbで正確ですね。感謝です。Gracenoteでなくてもってかんじかも。

問題がでるようなら、WAVのままハンドリングしていくのもありです。30%圧縮なので大差ないんじゃないの?!って見方もできますよね。本稿を描き起こした時期よりSSD価格は1/3以下になってますから、圧縮しなくてもいいんじゃない、ってわけです。これを「Cue/WAV(またはFLAC)」のふたつのセットを母艦セットと便宜的に名づけて以下に続きます。

WAVファイルにした1アルバムをいじってみる。

  •  別稿を書くほどではないですが、Nativeでなくても、Exact Audio Copyは、Wineでの利用も開発者が想定しているようなので(未確認)、慣れているひとはEACを利用してしまえばいいのではないでしょうか。
  • EACというコトバは、圧縮されたCUEシート付き楽曲ライブラリの形式を意味しますね。世界でも事実上標準の略語になったかんじです。

wav + cue の応用例――すべてGUI。GUIにこだわって。

1) トラック毎にwavに分割する。GUI。


キューシートをクリック(または右クリック)、K3bを起動、イメージファイルでBurn。トラック単位でCueシートに基づいた楽曲名付きwavが完成します。(完成したら、それを元に、flacなり、mp3なりの変換もできます。)。特に必要性なし。

また、flaconでもちゃんとEACを読み込んで分割できます。おすすめです。多少開発に協力させていただいています。

2)視聴。クリック(または右クリック)してアルバムとして聴く


A)キューシートをクリック(または右クリック)、Audaciousを起動、好きなトラックを聴く。先頭から聴くのももちろん自由。曲情報が正確に反映されるのでおすすめ。クレメンタインも対応しています。


B)ファイルマネジャー nemo/cajaで、楽曲ファイルにマウスを重ねる。笑) 便利なんだが時々びっくりしませんか? 設定次第ですが。

C)その他いろいろ.......。わたしのおすすめのdeadbeefは、WAVをクリックして開かないとだめみたい。 そしてカレントにあるCUEシートを自動的にアルバム形式で読み込むのが仕様っぽい。ちょっと戸惑いました。

3) アルバム単位で仮想CDドライブとしてマウントする。


gcdemuをインストール。cueファイルをloadします。音楽CDドライブとしてマウントされます。が、このドライブに対してAudiciosを起動しても楽曲情報(Cue楽曲名情報)は反映されないので、2-Aがおすすめです。Audacious―― 軽いアプリケーションです。音質は?!かな。

4)再度、リッピングしてみる。ファイルフォーマットの変更

A)Asunder

うまく動きませんでした。wavでよければ、1 で対応済です。1年と2ヶ月まえの瞬間の結果。とても性能が向上しているアプリケーションでけっこうおすすめです。追記、あれ、うまくいかない。

B)SoundConverter

サウンド変換です。flac、ogg などに変換できるようです。WAV TO FLAC、OGG で10分の曲変換に要するのは数秒といったところでしょうか。大抵のニーズには対応できそうです。

アップコンバート、リサンプルもできるようです。やってみました。擬似ハイレゾです。偽レゾとかいわれているものですね。これは、SoX使ったほうがいいです。記事にしましたので、左上の検索窓でSoX。プレイヤーでリアルタイム変換しながらってのもありますので、好みに応じてどうぞ。

5)wav+cueからバックアップしてみる。

無意味ですが、gcdemuでマウントされた状態から、braseroを起動。CD/DVD/BDドライブにブランクディスクを入れて焼く。(メディア代がもったいないのでメニューが出たところまで検証)

6)WAVをflacにする。ついでにWAVを削除してHDD容量を確保する

以下、フロントエンドの必要性がないほど、コマンド・ライン、ターミナル上での作業が簡単です。これを読めばよくあるWindows用シェアウェアなんか買う気になれないでしょう。ほとんどのコマンド・ツールはクロスプラットフォームなので、MAC OSX、MS Windows、Linux、BSDなどで動作しますので共通です。あえて説明しない汎用フォーマット相互変換器であるffmpeg などが動かない環境はほぼないはずですし。ffmpegだけでぜんぶやっちゃえる場合もあるかと思います。MKAコンテナもマイナーと見たのでの対象外です。


WAV からflacに。GUIよりも、コマンドで処理するのがあほほど簡単です。拍子抜け。
flac *.wav
です。カレントの全曲がWAV からflacになります。オリジナルは消しません。新たに生成します。厳密ではないですが、30%-40%ほどファイルサイズが小さくなると思います。ここでエラーがでなかったことを確認して、カレントのcueシートを書き換えて、元のWAVを削除します。

cueシートをwav からflacに変更。置換します。一行書き換えます。4文字書き換え。
以下が不安なら、cueのバックアップをとった上でお好みエディターでどうぞ。

cueシート食わせて、一発で修正する。汎用です。
perl -pe  's/.wav\" WAVE/.flac\" WAVE/g' target.cue

これでいけると思います。試験していません。gがあるのは、個別分割ファイルを1cueにするというflaconオプションに対応してみただけです。深い意味はありません。便利なのか不便なのかよくわかりません。

おまけ0:いろいろいれる、いろんなフォーマットに相互変換してみる。(何の意味もないが実験。完全に戻るのか試験)


(flaconいれると依存関係で、デコーダーの類もいろいろまとめて入ってくれたりするので楽でいいかもしれません。PPAから)

FLAC


flacをwavにする。デコード
flac 08.flac -d

APE

どこかの会社のハイレゾ再生機が採用していた気がする。と思っていたら2017年秋のSony Walkmanでは対応するんですね。前から?! ふーん。dsdとflac,wavだけでいいのに。クラシック聴く人にニーズがあるのかな?! 知りません。

wavをapeにする。
mac 08.wav 08.ape -c1000

apeをwavにする。デコード
mac 08.ape 08.wav -d
コマンド名がmacなのは収まりが悪いので、自分の場合、apeというエイリアスにしています。

TTA

wavをttaにする。
tta -e 08.wav  08.tta

ttaをwavにする。デコード
tta -d 08.tta  08.wav

TAK 、ソースコードの扱いがよくわからない。めんどくさい。

wavをtakにする。
takc -e 08.wav  08.tak

takをwavにする。デコード。Wineコマンドラインの場合と、ffmpeg/avconv でコンバートする場合の2例。
takc -d 08.tak  08.wav

ffmpeg -i 08.tak 08.wav
avconv -i 08.tak 08.wav

takcは、WINEで。このようにWindowsコマンドラインツールでも、
パスを通して、実行パーミッションを付与し、exeをとったシンボリックリンクを張っておけば、
あたかもネィティブアプリのように実行できます。という発見。活用例。

その他フォーマットもffmpegでも変換できますが、TAKではファイルサイズが変わってしまうことに気がついてしましました。いまんところ調べるつもりはないですが、無圧縮WAVへの書き戻しには本来のツールを使ったほうがいいかと思います。というか、takc.exeではヘッダがおかしいのかも。ヘッダが違いますね。
Wave meta data missing みたいになるので。WINE使わずに、takはffmpegで変換するほうがいいのかもしれませんね。ただし速度はWINEのほうが25%程度速く処理できます。 またフォーマットとしてのtakはもう終焉を迎えています。

2017年9月追記::いじわるなので最後に書きます。ffmpegで万能です。笑)

いずれのフォーマットも意識的に横並びにあつかってみましたが、事実上開発が止まっていたり、ほとんど変化がなかったします。だから、FLACに決めました。

FLAC音楽サイト増えました。SONY、オンキョーなどが販売もし、あー、めんどくさいので……


FLACになります。FLACで決まりました。
Windows10は標準(2016年7月)。アンドロイドも標準
Linuxも標準(たぶん)。appleも2017年9月に対応。

自分はこう決めたのでした(10年はこれでいきます)。ちなみに、マルチメディアフォーマットとして関連付けられていますので、どのフォーマットのファイルでもクリックで再生できますね。いずれせによ可逆形式であればWAVに戻せますから。そこがいいところ。

終わり::2017年秋追記 FLACで決まりました。アップル陥落。2025年ぐらいまで独自路線でいってほしかった。ネタにできなくなった。  

おまけ1:DLNA/uPnP"なんか"で宅内配信する。


cueシートを使った音楽鑑賞の場合は、サーバーは、Universal Media Server がおすすめです(日本語は化けると思いますけど)。それ以外のファイル、通常用途では、miniDLNAが私のおすすめです。Windowsでの配信は、SONY MediaGOがおすすめ。スマホをリモコンみたいにして、TVやChromecastなどのレンダラーを再生するっていう場合なんかですかね。そうなるとminidlanaがベンリだったり、ひとによってはClementineがいいし、kodiでもいいかと思います。

もちろんポートさえ変えれば、サーバーになるものは同時に起動できますから、適当に調整してください。

もっとも、楽曲程度ならスマホなりタブレットなりに転送しておくのが現実的には使いやすいと思います。プレイヤーアプリの質など気になることも増えてきますので。TVやゲーム機の場合はトランスコード機能をかませないとうまくない場合が多いかもしれません。5年以上前のテレビだとDLNA対応していてもそのあたりは弱いはず。

また、最新型の4Kテレビだとコーデックやら処理速度やら充実しているのかもしれません。ソニーの今年でるモデルが欲しいかも。


UMSはおまけとして、一部、PPAなどからインストールする必要はあるものの、すべてubuntu環境/ほぼGUIで説明が完結できました。めでたし、めでたし。コマンドラインなしです(の部分のみ説明したっていうのもあります ^^;)。

結言::しつこい

ここまで書いて、やっぱ、flacで管理が一番楽、将来性もあるのかな、と。Linux系標準フォーマットという声もあるし(どこに?!)、対応していないのは、Appleぐらいなもので、そのうち勢いに負けて、iTunesでもサポートすると思うけど。MSはWindows10で夏の予定みたいですね。

先達が整理されたページとしては以下がフォーマット変換などの参考になるかと思います。こちらを見たので、本稿ではGUIにこだわってみました。ずいぶんとubuntu/mintの環境も進化しているところは進化しているようですよ。実感しました。ほとんどGUIでできちゃいます。

 

以下、不必要:記録として残します。

おまけ2:Monkey's Audio インストール

http://doc.ubuntu-fr.org/ape フランス語

sudo xdg-open /etc/apt/sources.list
を開いて、
deb http://www.deb-multimedia.org sid main
の行を足して保存。
sudo apt-get updateしてsudo apt-get install monkeys-audio
導入。
もう一度(ここ大事)、
sudo xdg-open /etc/apt/sources.list
sudo apt-get update
を開いて、先ほど追加した行を削除(deb http://www.deb-multimedia.org sid main)。

https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media/+build/5803789

PPA登録するか、バイナリを2つダウンロードし、dpkgインストールするかです。flaconが3.99なので少しこまったことになるかもしれません。flacconを導入した後、4.11でいけるかと思います。
などとして使います。オプションは後に付けます。macという名前は個人的に収まりがわるいので、エイリアス ape にしました。

モンキーオーディオを導入する。16.04LTS
sudo add-apt-repository ppa:mc3man/xerus-media
sudo apt update && sudo apt install monkeys-audio

おまけ3:flac/lame/tta エンコーダ、デコーダのインストール


ttaバイナリ

http://sourceforge.net/projects/tta/files/tta/ttaenc-linux/

最新版。解凍、sudo cp ttaenc /usr/bin
sudo apt-get install flac
sudo apt-get install lame
ヨーロッパで人気みたいなwavpackだけは試しませんでした。よくわからないTAKも試しました。ですからこれで主要フォーマットは網羅できたと思います。flacで十分なんですけどね。flacでいいや。flacが趨勢ってことで。

2015年2月13日金曜日

miniDLNA/readyMedia 美しいソートのための実例 1.1.4 編集ポイント

force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title で、ソートを綺麗にする。

#機能が1年程度前から追加されている。manにはない。sfのdiscussionで見つけた。

# always force SortCriteria to this value, regardless of the SortCriteria passed by the client 綺麗にソートされますね。昔に戻った。(^o^) 以下の行のみ、

#/etc/minidlna.conf の最下行に単純付加してください。

force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title



おまけ

# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)

# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)

# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)

media_dir=/var/lib/minidlna



#テストするには、↑だけ修正しちゃえば動作確認には十分です。または、デフォルト指定先にファイル動画、音声、写真を放り込む。

#書式が変わっている。1行で列記。以前は複数行でした。

album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg/Front.jpg/front.jpg/Back.jpg/back.jpg


1.1.4 パッケージ試験的に置いてみました。15.04では不要です。インストール候補に復活しています。

http://poor-user.blogspot.jp/2015/02/how-to-install-minidlna-114-deb.html

fcitx が中国語メニューになっておいしい。いや、気持ち悪い。

以下は過去の話で、現在はじぶんのところでは不具合はありません。記録のために残しておきます。2016-06-26現在、fictxで快適です。一気によくなりましたよね。不安は消えました。皆様のおかげです。

過去稿


fcitx が中国語メニューになってしまう。とほほ。全削除して一個づつ入れていく修正をとってましたが、よい方法を見つけました。

単純に、

sudo apt-get remove fcitx-ui-qimpanel

これで修正できました。ありがとうございます。中国語メニューで下からふたつ目が再起動です。同じ漢字文化圏ですが想像つきませんね。

参考:
http://blog.goo.ne.jp/ikunya/c/156b5116d1aae9603428679c1a5fbee2 
Linux Mint 17.1に見るCJKへの無理解

ibusに戻したけど。あはは。

2015年2月9日月曜日

H.265 HEVC 動画を Ubuntu/Mint/Debianで再生する。14.04LTS not 15.04 later

LTSを使う限り(ubuntu 16.04LTS、Mint 18 がリリースされるまで)は、導入が必要です。

※追記:2017/06/14。なぜかアクセスが減っていくのならわかるのですが、増えてきているので誤解を与えているのではないかと心配です。ここで言っているのは

  • 「再生する」であって、HWデコーダー(mesa/vdpau/vaapi)を有効にするという話ではないです。
  • vdpau/vaapi は、必要なドライバを組み込んで、再生ソフト/VLC/MPVなりで有効にすることが必要です。 別の話です。
  • そして、大事なこと。そのグラフィックチップは、hevcに対応していますか? ハードウェア再生支援はGPUの機能です。機能がなければ、ソフトウェアデコードです。
  • ちなみに、当方の Radeon R7 360は、H264_10bit、HevcやVP9に対応していません(=ハードウェアデコードが使えない)。ドライバによりますが、たいがい、ソフトウェアデコードのほうが安定していたります。だから悔しくないのです(嘘)。

継続性が求められていないのであれば、来年18.04をいれるか、現在の安定LTS 16.04にしましょう。それが一番らくな方法です。 あえて14.04を使う必要はありません。


※追記:16.04LTSでは、ビデオ(TOTEM)が廃止でVLCが標準っぽいですね。

追記:MPVは、必ず launchpadのバージョンを使いましょう!! とても重要です。PPA追加なしだととても古いバイナリなのでまともじゃないかんじです。だめな場合は検討してみてください。当方のRADEONの問題なのかもしれませんが。

追記:H.265、HEVC再生 on 14.04LTS、Mint 17.x を想定した内容です。15.04,15.10ユーザーは、気にしないでいきましょう。新規インストールしてみて確認しましたが、Linux Mint 17.3でも必要です。

また、14.04.2では下記の緑化現象もおきないようになっていますので、アップデートしてみるのが先ですね。正常に再生できている方は、以下を読むのは時間の無駄です。

蛇足:本稿を書いた当初はメインの環境では、mpvを使ってなかったのですが、現在はsmplayerでもmpv指定で使っていますし、mpvが自分の中でのデフォルトメディアプレイヤーになってしまいました(Windows環境でも使えますし)。僭越ながら、mpv使ってない方には強くオススメしておきます。適度なGUI、キーボード操作もいけて、コマンドラインからの起動「も」素敵です。

14.04LTSでの対応例


新規にターミナル(端末)を開きます。ubuntu系は以下を同時押し。CTRL+ALT+T
http://www.libde265.org/blog/2014/02/22/gstreamer-4k-h265-hevc-plugin/

sudo apt-add-repository ppa:strukturag/libde265
sudo apt-get update

VLCを使う場合

sudo apt-get install vlc-plugin-libde265

Totem(標準でいうところの「ビデオ」)を使う場合

sudo apt-get install gstreamer1.0-libde265

以上4行入力すると視聴可能になります。
 

mpvとsmplayerを導入。PPA登録バージョン


sudo add-apt-repository ppa:mc3man/trusty-media
sudo add-apt-repository ppa:mc3man/mpv-tests
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install mpv
sudo apt-get install smplayer

https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media

これでHEVCが再生できる環境が整いました。

※2行目を書き忘れていました。訂正しました。


※先日アルファ版16.04を試したところ、標準サポートではありませんでした。参考までに。
※16.04 beta2で確認したかんじだと、TOTEMがなくなって、VLCのみになっています。追加でmpvとvlcのDailyBuildを入れて、HEVC再生ができるみたいですが、まだいろいろと不具合がありますね。正式リリースが期待です。

2015年2月5日木曜日

How to Install miniDLNA/readyMedia 1.1.4

改稿:2015年2月13日

1.1.2をダウンロード。Wクリックで導入。
http://ftp.slackware.com/pub/ubuntu/pool/universe/m/minidlna/minidlna_1.1.2+dfsg-1~ubuntu14.04.1_amd64.deb 

1.1.4をコンパイル。バイナリ minidlnadをコピー。(または、探す)

sudo mv minidlnad /usr/bin

これで再起動すればOK。その前に、minidlna.confを編集しましょう。

以下から落とすほうがいいかも。


----

miniDLNA 1.1.4の導入と設定、DB強制更新

minidlnaってなあに?! と思った人は、3年前のエントリー記事をよろしければどうぞ。
https://help.ubuntu.com/community/MiniDLNA (全体設定、個別ユーザー設定)
※素直に、メンテナー提供版をいれておくのが楽でいいと思います。2015年2月11日現在では、1.1.2 です。以下は、最新版1.1.4 を自compileしてdpkgする場合の話。compile手順などは省略します。

0)前提


基本的にメンテナーのバージョンをいれておいたほうがハッピー。ubuntu 14.04系(debianでも同じだった。mintでも当然同じ)でインストール候補に見つからない場合は、launchpadから導入。1.1.4で半年使ってますが十分安定しているし高速です。前バージョンも同様でした。最高のuPnP/DLNA環境です。

デコーダー類さえ整備すれば、H.265もFLAC(標準かつ、PCMレベル及びハイレゾレベル)もOKです。唯一の問題、ディレクトリ、ファイルのソートオーダーが気に入らないってことぐらいですね。
(追記:miniDLNAソート問題は解決しました)


2)minidlna 1.1.4 2015年2月5日時点での最新版


ひとつ前のその前のバージョンあたりから、minidlna がminidlnad に変更になっています。これまでの環境引き継ぎだと、initスクリプトを1文字修正しなければなりません。自動的に修正されないはずです。

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="DLNA/UPnP-AV media server"
NAME=minidlna
DAEMON=/usr/bin/minidlnad
PIDDIR=/run/$NAME
PIDFILE=$PIDDIR/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
DEFAULT=/etc/default/$NAME

また自分でコンパイルした場合も、/usr/local/sbinなど意図しない場所に配置されていないかは確認しておきましょう。単純にdaemonの位置が食い違わなければいいわけです。

前バージョンの実行ファイルが残っていないかはチェックしておいた方がいいかも、混在していても気にせずにminidlnaは動作します。(d付きとdなし。d付きがある環境にはdなしは不要なので削除)

DBの更新の問題(新規メディアが更新されない)

inotify=yes 「yes」にしていてもうまくいかない場合、DBディレクトリをRAMに展開して起動毎に更新するようにすると問題がなくなりました。この使い方で2年以上問題ありません。

具体例

sudo gedit /etc/minidlna.conf で以下を追記または修正
db_dir=/tmp/minidlna

sudo gedit /etc/fstab で以下を追記または修正
tmpfs  /tmp  tmpfs  defaults,size=256m  0  0

OS起動毎に、DBが新規に作成されますが、所要時間はほとんど気になりません。なお、MS-Windows MediaPlayer12 でも同じ現象は起きます。その場合管理者でたしか3つぐらいのファイルを削除しDB更新すればOKです。マルチブートならLinux側でマウントして削除。
詳細はググッてみてください。Windowsは詳しくないので。

3) おまけ


sudo、root権限で、リスキャンしたりってのもなんかアレだなと長いこと考えていました。滅多に触る必要はないとはいえど。
標準で、minidlna ユーザー、グループなわけですが、そこはいじらずに、

minidlnaの一時的ログイン停止・ログイン不可を解除、パスワード付与でいこうかなと思っています。

ユーザーminidlnaは、sudoなどが実行できない限定ユーザーです。そこも変えません。

もともと実害も何もないわけで、DLNAクライアントから、machine:user と見えるか、machine:rootと見えるか、それだけの違いです。こだわっても仕方ないかも。笑)

friendly_name=ReadyMedia 1.1.4 ともできるし、そもそも、
notify_interval=89 というふうに監視間隔を短くすればいいだけ。
つまりやはりこだわっても仕方ないということですね。

4)おまけ2


ぶっちゃけ。minidlnadをminidlnaにリネームすればいいんじゃね?!
ですよね。これまで(数年前)通り使えます。笑)

追記
1.1.4 パッケージ試験的に置いてみました。
http://poor-user.blogspot.jp/2015/02/how-to-install-minidlna-114-deb.html