QNAP 251Dのその後。
前回書いたが、AVCHD で撮影したビデオを見ることが出来ない。
QNAP に「どうにかして」とお便りを送ったところ、数度のやり取りの後「現在のところ、仕様」という予想通りの答えとなった。
でも、サポート担当してくださった方はこの問題を知らなかったようで、色々と調べてくださった。
その中で、以前は(僕が前の NAS である 220 を購入した頃には)フリーウェアを使って変換していたが、その後フリーウェアの開発終了にともない、サポートできなくなった、という情報を得た。
QNAP は、アプリをダウンロードすることで機能を拡張できる。
機種によって提供されているアプリが多少違うのだが、少し前の機種では CodexPack というものがあったらしい。
これは FFmpeg の拡張コーデックで、入れると対応できるビデオ形式が増えたそうだ。
(アプリを増やせばメモリを食うようになるため、必要な人だけ入れれば良い、という配慮)
つまり、内部的にはフリーウェアである FFmpeg を使用していた、ということ。
FFmpeg は、非常に多くのビデオ・音声形式を相互変換したり、編集したりできるフリーソフトだ。
つまり AVCHD が見られた、「以前の」フリーウェアは使わなくなったが、その後は FFmpeg を使っていた、ということになる。
はて。FFmpeg なら、AVCHD にも対応できるはずなのだが。
しかし、今は CodexPack は提供されていない。
各種情報を総合して考えると、いまでも FFmpeg は使っているのだが、CAYIN MediaSignPlayer というサードパーティアプリの一部として提供されている。
そして、拡張コーデックは無償提供ではなく、別売りになっている。
ただ、この拡張コーデックを買ったとしても、AVCHD には対応できない。
CAYIN の WEB ページを見ると、ページ下部に FAQ があり、そこに「現在のところ AC3 には対応していない」と書かれていた。
QNAP でAVCHD が見られない最大の理由は、AVCHD で使用されている音声フォーマットである AC3 に対応しないためだ。
FFmpeg が対応しているのに、なぜ対応しないのだろう。
QNAP には ssh ログインの機能もある。
NAS の OS の基幹部分である Linux を見せてしまう、ということだ。
NAS は安定性が第一なので余りいじりたくはないのだけど、入ってみた。
ffmpeg コマンドを実行すると、たしかに入っている。
そして、usage メッセージには、ffmpegのコンパイルオプションが示される。
ここに、 --disable-decoder=ac3 と書かれていた。「ac3 は使えないようにする」という指示だ。
つまり、CAYIN が対応していないというだけでなく、その内部で使われている FFmpeg も、わざわざ AC-3 を使えない状態にしてある。
バージョンは、3.3.6 、結構古い。どうやら 2017 年のバージョンらしい。
Debian の一部としてコンパイルされたもの、らしい。
…他にも色々調べ物をしたが、見えてきたのはこういうことだ。
2011 年頃、FFmpeg プロジェクト内で管理方針をめぐる対立があり、分裂があった。
FFmpeg と機能的には同じだが、管理方針の違う libav というプロジェクトが興ったのだ。
当初は両者活発に活動していた。管理方針で対立はあったが、機能面では同じものを志している。
お互いに成果を取り入れつつ、それぞれ活動していたようだ。
これを応援するように、いくつかの Linux ディストリビューションでは、libav を採用する。
Debian も libav 派だった。
しかし、やがて libav は失速する。一部が飛び出して新プロジェクトを作ったとはいえ、多くの開発者は FFmepg に残っているのだ。
新機能は主に FFmepg で実装され、libav はバグ修正すらなかなか行われない状態になる。
2015 年頃、FFmpeg のプロジェクトリーダーが辞任し、交代となった。
トップが交代するということは、管理方針にも影響を与える。
このとき、引退するリーダーは「プロジェクトが分裂しているのは望まない。戻ってきてほしい」とlibav の開発者にメッセージを出した。
これがきっかけで、libav は2016年にはその活動を事実上停止した。
(一応、その後も 2018年まではリリースを続けているのだけど)
どうも、QNAP が古い機種で使っていて、開発終了になったライブラリというのは libav のようだ。
Debian なども、このときに libav から FFmepg に再変更している。
QNAP の内部の Linux が、どのディストリビューションをベースとしているかはよくわからない。
しかし、やはり同じように libav から FFmpeg に戻したのだろう。
ただ、これだけでは AC-3 非対応の理由にはならない。
AC-3 は、ドルビー研究所が考案した音声コーデックだ。
そのため、ドルビー研究所が特許を持っていて、使用するには特許料を払う必要があった。
「あった」という過去形で、2017 年には特許が失効している。
先に書いたが、CAYIN が内部に抱えている FFmpeg は 2017 年のものだ。
推察するに、CAYIN の開発を行っていた頃はまだ特許が継続していて、特許料の関係で AC-3 はサポートしないことにしたのだろう。
その後特許は失効したわけだが、「サポートしない」つもりで作成したソフトを、今からサポートするように変更するのもリスクが伴う。
そもそも、内部の FFmepg のバージョンがずいぶん古いのだ。これも、バージョンを変えたら、その上で動く CAYIN が正しく動作するのか、全チェックを行うのが大変だからだろう。
QNAP が CAYIN と提携したのは、2020 年…去年のことなので、今後どうなるのかはよくわからない。
翌日追記
CAYIN の内部 FFmpeg が 2017 年のもの、と書きましたが、勘違いでした。
QNAP は標準で内部に FFmpeg を2つ持っていて、QNAP が入れた(使っていない?)FFmpeg が 2017年のもの、CAYIN は 2020 年のバージョンでした。
しかし、AC-3 をサポートしていないのは同じです。
どうも「AC-3 自体の特許は失効したが、関連特許が残っているため念のためサポートを見合わせている」ということのようです。
追記終わり。
ということは、だ。
おそらく、内部の FFmpeg を、しれっと AC-3 対応に変えてしまえば、ビデオが見れるようになるのかもしれない。
AC-3 対応が目的ではないが、同様のことを試みている人がいる。
機種が違うし、このパッケージは「CodexPack」が入っていることを前提としているので、251D で動くかは不明だ。
変なことをして NAS の動作を不安定にするのも嫌なのだけど、どこかで試して見る価値はあるかもしれない。
→ 翌日試しました。AVCHD 動画も見られるようになりました。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
20年 phpSpreadsheet で小数点付き数値と見なせる文字列を入力するとおかしくなる
申し訳ありませんが、現在意見投稿をできない状態にしています。 |