要件はWindows Media Playerで再生

約23GBほどの3時間のm2tsファイルを以下のように加工して欲しいという要件がありました。

  • Windows Media Playerで再生できること
  • DVDに焼けるように4.7GB以下にする

最初にやったこと

m2tsファイルのエンコードは日常茶飯事です。

番組録画が終わったら自動でH.265にエンコードするように設定しています。しかもGPUを使用するのでエンコード速度もなかなかなです。

なので、H.265とH.264の2パターンでエンコードしました。H.265はたまに再生できないケースがあるためです。

ですが、両方とも再生できないとのことでした。NVENCのハードウエアエンコードでしたファイルは再生できないとのとこなのです。

CPUでH.264エンコード

ハードウエアエンコードができないなら、CPUエンコードです。

H.265は時間がかかるため、H.264でエンコードしました。

再生できるかを確認してもらうために、最初の5分をエンコードして再生を試してもらいました。そしたら、再生できるとのこと。

なので、3時間分をエンコードしました。

が、動画の最初のフレームは表示されるものの、再生されないのです。

ファイルサイズの問題かと思い、1920x1080だけでなく、1024x576や768x432にしてファイルサイズを小さくしましたが、それでも再生できないとのこと。

その際参考にしたのは、以下のページです。

【ffmpeg】動画の解像度を指定してリサイズ、アスペクト比を維持したまま解像度を変更する、回転する - Qiita

また、いかのページにあるように「YUV 4:2:0」のオプションを指定してエンコードしましたが、事象の解消には至りませんでした。

https://tech.ckme.co.jp/ffmpeg_h264.shtml

mpeg2エンコード

mpeg2なら汎用性が高いだろうということで、こちらでもエンコードしました。

以下のパターンでエンコードしましたが、やはり最初のフレームは表示されるものの再生できないとのこと。

  • 1920x1080
  • 1024x576
  • 768x432

なお、Windows Media Playerでは再生できるとのこと。ある要件でWindows Media Playerで再生できないとダメとのこと。

Windowsでwmvエンコード

上記まではCentOS22.04にてffmpegを使用していました。

Linuxがダメなんだろうと予想。Windowsで再生するには、Windowsでファイルをエンコードすればいいのではないかと思い、AWSでWindowsサーバを構築しました。

変換ソフトには以下のTMPGEnc Video Mastering Works 7の体験版を使用しました。

動画変換/編集ソフト - TMPGEnc Video Mastering Works 7 - ぺガシス: 概要

このソフトでwmvのエンコードを実施しました。

そしたら、再生できたとのこと。ファイルサイズも2.5GBでファイルサイズも要件に合致することができました。

結論:Windows Media Playerを使うならwmvでエンコード

ということで、今回の結論はWindows Media Playerを使うならwmvでエンコードが吉ということ。

Windows Media Player以外なら、ハードウエアエンコードのH.265も再生できました。なので、Windows Media Playerを使いたいという要件限定だと思います。