先日SynologyのDS216jというNASを購入しまして、早速PCに保存していた写真・音声・動画ファイルをNASに移していました。
Synology DiskStation DS216j デュアルコアCPU 2ベイNASキット DTCP-IP対応可 CS6426
- 出版社/メーカー: Synology
- 発売日: 2016/03/10
- メディア: Personal Computers
- この商品を含むブログ (2件) を見る
PlayStation 4 ジェット・ブラック 500GB(CUH-2000AB01)
- 出版社/メーカー: ソニー・インタラクティブエンタテインメント
- 発売日: 2016/09/15
- メディア: Video Game
- この商品を含むブログ (7件) を見る
ところが、これがなかなか再生できない。様々なデバイスで撮影・録画した動画ファイルが混在していて、PCだととりあえずVLCあたりに任せれば何でも再生できるわけですが、PS4やChromecastだと、再生できるファイル形式やコーデックとやらが決まってるらしく、決まった設定で動画を変換しなければ再生できないわけです。
(よりハイスペックなNAS、例えばDS416play
Synology DiskStation DS416play 4ベイNASキット 高性能デュアルコアCPU搭載 CS6493
- 出版社/メーカー: Synology
- 発売日: 2016/06/10
- メディア: Personal Computers
- この商品を含むブログを見る
で、色々インターネットを検索して、どういった設定にすればいいのか、指定の設定に変換するにはどうしたらいいかを調べたので、記事にまとめておきます。
結論
- 設定
- 変換方法
- ffmpegを使う
ffmpeg -f mp4 -vcodec libx264 -pix_fmt yuv420p -profile:v high -level:v 4.2 -r 30 -b:v 10m -acodec aac -ac 2 -b:a 256k -ar 96000 -i 変換元動画ファイル名 -size 変換後サイズ(変換元のサイズが制限を上回っている場合) -vf yadif(インターレースを解除しなければならない動画の場合) 変換後ファイル名
PS4に対応
PS4のメディアプレーヤーは下記のページに対応形式が載っています
manuals.playstation.net
ただ、この形式情報以外にも以下の制限があります。
Chromecastに対応
Chromecastの対応形式とかは見つけられなかったのですが、Youtubeの推奨エンコード設定としては下記のようなものがあるのでそれに合わせます。
support.google.com
ただ、この設定に合わせても、以下の制限に則らないと動画がカクカクします。
フレームレート:30fps以内
上記のページではフレームレート60fpsとかでも大丈夫と書いてあるんですが、実際にデジイチとかで撮影したフレームレート60fpsの動画をChromecastに中継してみるとカクカクします。調べてみるとChromecastの最高フレームレートは30らしいので、それに合わせたほうが良いでしょう。
ただこれをすると明らかに動画のヌルヌル感が減ります。Amazon Fire TV Stick
- 出版社/メーカー: Amazon
- 発売日: 2017/04/06
- メディア: エレクトロニクス
- この商品を含むブログを見る
変換ソフトは何にするか
以上のことをまとめると、上記のような設定となります。
で、どうやってこの設定に変換するかなんですが、フリーのエンコードソフトとしては以下のようなソフトがあるそうです。
aviutl.info
で、この中で一番メジャーで、かつ使い勝手が良さそうなのが、ffmpegっぽいので、それを使うことにします。情報も豊富ですし、CUIなのも良しです。
ffmpegのインストール
筆者はBash on Windowsでインストールし使用しています。インストール方法は以下のとおりです。
launchpad.net
sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg
使用方法
とりあえず上記で紹介したようにコマンドを入力すれば変換されます。
感想
写真でいうJPEG、音声で言うMP3みたいに、「とりあえずそのファイルフォーマットに変換しておけば互換性は安心」というファイルフォーマットのデファクトスタンダードができないもんですかね。