FC2ブログ

4K H.265/HEVCへの対応

久々の設定プロファイルの更新にあたりffmpegの情報を集めており、audiotoolboxとvideotoolboxへの対応がビルドのオプションではなく標準設定になっていることに気がつきました。これまではビルドオプションの値を取得して設定を切り替えていましたが、これができなくなるとともに、必要も無くなりました。
音声についてはaudiotoolboxへの対応によりmacOS標準の高音質なAACのエンコードが可能になるため、設定プロファイルでは全面的に音声エンコードをaudiotoolboxに移行しました。これまでは音声データだけ取り出してAACエンコードを行なって一つのファイルにまとめる作業をQuickTime Plug-inというスクリプトで実施していましたが、ほとんどの設定で利用しなくなりました。
映像のvideotoolboxへの対応は、macOSのH.265/HEVCエンコーダをffmpegから利用できるのですが、いくつかの問題があることがわかりました。ffmepgに内蔵されているx265エンコーダでは品質固定可変ビットレートが利用できますが、ffmpeg経由のvideotoolboxでは固定ビットレートしか利用できません。ビットレートを指定しない場合、非常に悪い品質でしかエンコードできません。解決策の一つは、非常に高いビットレート(例えば100Mbps)を設定することでした。この設定では、画面が小さいファイルの場合はそれにあわせてmacOSはビットレートを下げてエンコードしますが、それでもH.264より大きなファイルになることがわかりました。もうひとつの解決策は、QuickTime Playerのexport機能を利用することでした。QuickTime Playerは動画の中身により自動的にビットレートを制御して最適なエンコードを行うようです。x265よりも倍以上の大きさのファイルができるため、H.265の圧縮の利点の一部を損なっていますが、iOS機器などとの互換性は完璧なはずです。4Kと呼ばれるこの設定は、Mojave以上のQuickTime Playerで利用できるようです。なお、設定の名称は4Kですが、4Kへのリサイズをしているわけではないので、どんな大きさの動画でもエンコードできます。
そんなわけで、4K H.265/HEVCへの対応は、macOSの環境変数を見ながら、次のような設定を利用できるようにしました。

・Sierra以前
 H.265/HEVCエンコードには対応しません。
・High Sierra
 ffmpegのx265を用いた可変ビットレート品質固定エンコードに対応。簡単に設定できるカスタマイズ項目はアスペクト比の指定だけ。
・Mojave以上
 x265を使った上記のエンコードと、QuickTime Playerを使ったエンコードを選択できます。

QuickTime PlayerをAppleScriptで制御してエンコードするのは、MPEG Exporter TNGの前身であるQT MPEG Exporter(Classic Mac OSの時代)の基本機能でもあったので、設定が存在することさえわかればお手の物です。MPEG Exporter TNGをリリースした当初の目玉の設定は、ビットレート上限付き品質固定可変ビットレートのH.264エンコードでした。しかしもう個人が設定をちまちまいじる時代ではないのかもしれません。さまざまな設定の動画が溢れかえるよりも、単一の設定の安定した動画が普及した方が、何かと便利な気がします。

MPEG Exporter TNG 設定プロファイル r.140

update.png
MPEG Exporter TNGの設定プロファイル(設定アシスタント)を更新しました。

以前に作成した自慢のパラメータ群が最近のffmpegとほとんど互換性がなくなっていたため、MPEG Exporter TNGの設定プリセットから思い切ってこれらを削除しました。
これによって、MPEG Exporter TNGはffmpegのラッパーというよりは、Apple謹製のCoreMedia/avconvertのラッパーという感じになりました。
ただし、らけったさんの古いffmpeg(一時期もてはやされていたコンパイル済みffmpeg)を使用している場合は、古い設定アシスタントに切り替えて以前のプリセットを使用することが可能です。
また、macOSの環境によって表示されるプリセットの内容は変化します。

続きを読む

MacでAirPodsのAAC CODECを利用する

Appleの可愛くて高性能なAirPods、使っていますか?
私は毎日iPhoneやiPadと組み合わせて使っています。
時にはMacとも接続しますが、音質が悪くなることがあることに気がつきました。
AirPodsの特徴は、iTunes Storeでも用いられているAAC CODECを使用した高音質ですが、Macは環境によってはAACが有効ではないことがあります。
この問題への対応についての前回の記事への追記です。
続きを読む
テーマ: Mac | ジャンル: コンピュータ

Text Encoding Obj ver.2.5

いくつかのアプリにスクリプトオブジェクトライブラリ Text Encoding Obj ver.2.5を配信しています。
parseJapanese(msg)という新しいルーチンを実装しました。これを直接利用するアプリケーションはまだありませんが、これに付随するいくつかのサブルーチンの微修正も行いました。
続きを読む
テーマ: Mac | ジャンル: コンピュータ

H.265/HEVC対応(Videotoolbox含む)

MPEG Exporter TNGの設定プロファイル(設定アシスタント)を更新しました。
「一般」の分類の中に「H.265/HEVC (4K)」を追加しました。
(4K)と記載されていますが、スクリーンサイズの指定は特に行わず、アスペクト比のみをオプションで指定するようになっているので、1080pなどの動画にも使用できます。
この設定では、エンコードエンジンに使用しているffmpegを事前に調査して、Videotoolboxが使用できる場合はVideotoolboxをパラメーターに設定し、使用できない場合はx265をパラメーターに設定します。
音声のエンコードはAudiotoolboxを使用するようになっています。
続きを読む