ブログを引越しすることになりました。
http://newmaclab.sblo.jp
MPEG Exporter TNG ver.3.81

ffmpegやCoreMediaのフロントエンドで動作する動画変換ソフトウエア MPEG Exporter TNGのver.3.81です。
macOSの機能であるGatekeeper対策で開発者コードをサインしてあるので、Mojaveでうまく起動しない問題が解決しているはずです。
ただしアップルによる公証は受けていませんので、特別な手段を用いないとまだCatalinaでは起動しません。Catalinaでも2020年2月より前にver.3.8をダウンロードして起動した場合にはそのまま利用できます。
機能的にはver.3.8と変わりありませんので、うまく動いている場合には再ダウンロードの必要はありません。
【Download MPEG Exporter TNG ver.3.8】
MPEG Exporter TNG ver.3.8

ffmpegやCoreMediaのフロントエンドで動作する動画変換ソフトウエア MPEG Exporter TNGのver.3.8です。
開発環境を AppleScript 0bjective-C (ASOC)に移行して全面的に書き換えました。
※当初β版として配布していましたが、そのまま正式版に格上げしました。
Tag: ffmpeg
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エンコードでした。しかしもう個人が設定をちまちまいじる時代ではないのかもしれません。さまざまな設定の動画が溢れかえるよりも、単一の設定の安定した動画が普及した方が、何かと便利な気がします。
音声については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

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