有馬総一郎のブログ

(彼氏の事情)

2021年02月16日 23:56:40 JST - 2 minute read - Audio Player

AAC(m4a)をSubFireで再生できない

Jpsonicで moraで購入したファイルが拡張子が mp4 のため、動画としてスキャンされていることに今更ながら気が付いた。

面倒なのでPowerShell

Get-ChildItem  -Recurse "C:\My Music" -include *.mp4 | Rename-Item -NewName { $_.Name -replace '.mp4','.m4a' }

で拡張子を mp4 から m4a に変更してしまった。

しかし、よくよく考えると Jpsonicの 楽曲の拡張子 を変更すれば良かったもしれない。ただ、それをやっても他のアプリからは mp4 がビデオなのか、オーディオなのか分からないままだったので、これはこれで良しとしよう。

Airsonic
設定 -> 一般 -> その他

で、再生しようとしたら、普通にJpsonic上からは再生できるのだけど、 SubFireからだと

Airsonic

An error occurred attempting to play this fileと、エラーを吐かれて再生できない。

/var/jpsonic/jpsonic.log

2021-02-16 22:26:55.081  INFO --- o.a.p.io.TranscodeInputStream            : Starting transcoder: [/var/jpsonic/transcode/ffmpeg] [-i] [/mnt/hdd1/Public/Public_Music/Li-sa-X Band/One More Chance Is Enough - Just Be My Treasure/01_One More Chance Is Enough.m4a] [-map] [0:0] [-b:a] [nullk] [-v] [0] [-f] [mp3] [-]

トランスコーディング

名前 変換元 変換先 第1段階
mp3 audio mp3 ogg oga aac m4a wav wma aif aiff ape mpc shn mp4 mp3 ffmpeg -i %s -map 0:0 -b:a %bk -v 0 -f mp3 -

ログを見ると%bknullkとなっている。最大ビットレートがnullとなっている。

これiTunes Storeで購入したのは問題なくて、 moraで購入したファイルはnullkになるんだよね。ともあれ、固定値で320kとすれば再生できたので、これで良しとしようとしたが、最大ビットレートが No limit となっているからかな、と思い、 320kbps としたら解消されたので、こちらの対応で行くことにした。

Airsonic
設定 -> ユーザ -> 最大ビットレート

まあ、今時 SubFireを使うことも少ないけどね。ただ、他のクライアントアプリで同じバグがあるかも知れない。