archives 2010/06  <<TOPへ戻る


2010/06/28 ■ x264のDTS compression(初期ディレイ)オプションパッチ Follow POP_bakapo on Twitter
   
MP4コンテナで DTS compression を有効にしないと再生できない機器環境をお持ちの方へ
 現在のx264 MP4コンテナ出力は、edts の実装により、できる限りコンテナ仕様に沿った出力ができるよう改善されてきました。しかし、スプリッタや再生機器(PCに限らず、AV機器のプレイヤやPS3など)によっては、edtsを正しく解釈してくれず動画再生に支障をきたすケースもあり、「MP4コンテナへの実装が仕様的に正しくても、再生が正しく行われるとは限らない」という煮え切らない状況が続いています。

そこで、mukenくんがTwitterで「DTS圧縮(初期ディレイカット)を有効にすれば音ズレは回避できるよ」と呟いたのを皮切りに、2ch等の該当スレッド等でパッチが出回りました。

これらの対処についてmukenくんは、「timebaseオプションが壊れるから、あまりオススメしたくない」という見解を示しており、「あくまで応急処置で」というスタンスであることをココに記しておきます。

 ここからは私の見解ですが、MP4コンテナへの実装が正しくても正常に再生できない機器・環境が存在するのもまた事実。であれば、x264を使う人がエンコード時に「DTS圧縮を意図的に有効化」できるよう、オプションスイッチを実装すれば、DTS圧縮を使う人・使わない人いずれも幸せかな……と思いまして、DTS圧縮有効化オプションスイッチを実装してみました。


このパッチのポリシーは以下のとおり
・オプションを指定しなければ従来通りDTS圧縮無効で動作する(これ重要)
・当パッチをあてても、該当オプションを指定しなければ未パッチと同じ動作をするため、DTS圧縮を使わない人は意識しなくて良い
・該当オプションを意図的に指定したときのみ、MP4コンテナのDTS圧縮が有効になる

つまり、DTS圧縮を有効化したいときだけオプションスイッチを指定してね、という仕様です。


以上のポリシーに基づいたパッチは↓です
x264_mp4_dts_compression_sw_r1659.diff


オプションスイッチ
--dts-comp を指定するとMP4コンテナ出力のDTS圧縮(初期ディレイカット)が有効になります
スイッチを指定しなければ、DTS圧縮は無効。当パッチをあてていないバイナリと同じ動作をします。


最後に(免責など)
重ね重ねになり恐縮ですが、DTS圧縮は本来使うべきものでなく、どうしても正常再生できない機器に対する救済策としての機能です。当パッチの使用、およびDTS圧縮を有効化した事により、ファイルや機器が破損しましても、当方は一切の責任を負いません。これらをご了承のうえ、パッチをご使用ください。





archives 2010/06  <<TOPへ戻る