要件は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を使いたいという要件限定だと思います。