Friio の MPEG2-TS ファイルを H.264 形式へ変換する(H.264 High Profile 対応 / ドラッグ&ドロップでOK)

2009年2月10日 火曜日 13:03

film-thumb

圧倒的な圧縮率を誇る動画圧縮方式といえば、「H.264/MPEG-4 AVC」でしょう。

ネットブックでの再生にはまだ重荷ですが、最近はエントリーレベルのPCでも再生できるようになりました。という事で今回は、Friio で録画した MPEG2-TS 形式ファイルを、ドラッグ&ドロップで H.264 へ変換するバッチを作成します。

H.264 形式の詳細については、関連記事「動画圧縮方式 H.264 のプロファイルとレベルについて」を参照ください。

今回は、以下の3つのプロファイルに対応したバッチを作成します。

  1. ベースラインプロファイル(Baseline Profile)
    →最低限の画質。携帯向け。
  2. メインプロファイル(Main Profile) +α
    →PCでの常用を目的とした中画質。中負荷。
  3. ハイプロファイル(High Profile)
    →PHL(パナソニック・ハリウッド・ラボラトリ)が策定に絡んだといわれる超高画質。 放送業界発展への寄与を認められ、エミー賞を受賞した技術。でも激重。

<用意するもの>

<導入作業(H.264/MPEG-4 AVC High Profile版)>

1.適当なディレクトリに BonTsDemux_mod_10k5 を展開

2.BonTsDemux_mod_10k5 に同梱の ffmpeg.exe を、入手した ffmpeg.exe で最新化

3.このディレクトリに「ffpresets」ディレクトリを作り、入手した FFmpeg 向けプリセットファイル3つを配置

4.以下のようなバッチファイルを書き、適当な名前(cmdlaunch_H264_HighProfile_WXGA.bat など)で保存します。
ドライブレターやパスは、環境に応じて設定してください。

c:
cd /d \friio\BonTsDemux_mod_10k5

bontsdemux -i "%1" -o %~n1 -encode "X264_HIGH_WXGA" -nd -vf -start -quit

5.cap_sts_sea.ini ファイルに以下の定義を追加します。

解像度・ビットレートはお好みで変更してください。

地デジの横解像度は1440 ピクセルしかありませんので、1280 ピクセルへの変換でも、思ったほど劣化は感じないと思います。

X264_HIGH_WXGA    =-f mp4 -vcodec libx264 -vpre "./ffpresets/libx264-hq.ffpreset" -aspect 16:9 -s 1280x720 -b 1200000 -threads 2 -vtag mp4v -acodec libfaac -ar 48000 -ab 96000 -y
X264_HIGH_WXGA_EXT    =avi

※注意
ここで設定したビットレートを低くしても、手順6で設定する qmax (品質の最低値)が優先されます。

6../ffpresets/libx264-hq.ffpreset の編集

各人の好みで設定を変更すればよいと思います。

シーク後の画面の荒れが気になるようであれば、g の値を小さくしてもよいでしょう。(ただし、圧縮効率は下がります)

品質設定ですが、私は qmin を7にし、qmaxを28にしています。

また、インタレース対策として、flags に ilme を追加しています。ildct は極端に重くなり、効果も微妙なので指定していません。

以下は、私の使用している設定値です。

coder=1
flags=+loop+ilme
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=umh
subq=8
me_range=16
g=150
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=7
qmax=28
qdiff=4
bf=4
refs=4
directpred=3
trellis=1
flags2=+bpyramid+wpred+mixed_refs+dct8x8+fastpskip

以上でバッチファイルは完成です。

プリセットファイルを変更すれば、別のプロファイルにも対応できます。それぞれのプロファイル用のバッチファイルを作成すればよいでしょう。

 

<使い方>

あとは、MPEG2-TS形式の動画ファイルを、先ほどのバッチファイル(cmdlaunch_H264_HighProfile_WXGA.bat )にドラッグ&ドロップするだけで、H.264/MPEG-4 AVC High Profile 形式へ変換してくれます。

※注意!
変換が始まらない場合は、変換元ファイル名の全角・半角スペースを取り除いてみてください。

ffmpeg に個別にパラメータを与えるのは大変ですので、プリセットファイルを使うところがミソです。

 

<音ズレについて>

どんなパターンでも絶対音ずれしない。というわけではありませんが、BonTsDemux_mod_10 で VideoFrame 補完処理をしているため、今のところ目立った音ズレは発生していません。

Friio の音ずれについては、こちらが詳しいです。

 

<品質について>

超高圧縮とあまりの品質の良さにかなり驚くのではないでしょうか。

お気に入りの番組を保存しておきたいが、Blu-ray ドライブもないし・・・・せめてDVDにハイビジョン動画が入ればいいのに。という用途にはうってつけです。

これで、お気に入りの番組は容量を気にせず保存しておけますね。

 

関連記事

Vista 64bit + クアッドコア環境でも Friio が安定

動画圧縮方式 H.264 のプロファイルとレベルについて

Friio の MPEG2-TS ファイルを DVD へ変換する(ドラッグ&ドロップでOK)

Friio のおかげで地デジがやっと使いものになるように

この記事へコメントしたり、トラックバックできます。

この記事への11件のコメントがあります

  1. wow says:

    2009年2月24日 火曜日 12:43 AM

    X264_HIGH_WXGAをcap_sts_sea.ini に書き込んで使ってみたのですが
    エンコが始まらずに黒いウインドが一瞬でて終了します
    ほかの定義だと問題ないですが
    う~ん

  2. admin says:

    2009年2月24日 火曜日 7:36 AM

    うまく動かないときは、スタートメニューからコマンドプロンプトを立ち上げて、引数に変換したい動画ファイル名を指定すると、ffmpeg が吐くエラーメッセージが見れますよ。
    あと libx264-hq.ffpreset ファイルは必須です。
    ffmpeg.exe があるディレクトリに「ffpresets」ディレクトリを作ってその中に入れてください。
    エラーメッセージを確認して、そんなプリセットは無い。と言われるならこの問題と思います。

  3. hermit says:

    2009年2月25日 水曜日 3:43 AM

    wowさん。例のiniファイルやffmpegのプリセット文中の「×」を半角の「x」に置換すると動くんじゃないかな?と思います。

  4. admin says:

    2009年2月25日 水曜日 9:50 AM

    hermit さんのご指摘の通りと思います。
    Wordpress って勝手に英字の「x」を「かける」に変換して表示しちゃうんですねぇ・・・・
    こういう勝手な変換ってなんとかならないものなのでしょうか。

  5. admin says:

    2009年2月25日 水曜日 5:26 PM

    ひとつ上のコメントの通り、Wordpress の設定変更をしました。
    これでコピペでいけるようになったと思います。

  6. hermit says:

    2009年2月26日 木曜日 1:19 PM

    わざわざ対応していただきまして恐縮です。
    FFmpegでHighProfileエンコードしてみました。低いレートでもかなり良い感じで驚きです。
    普段はMencoderで軽く済ましてるんですが、ここぞと言うときに使おうと思います。
    ありがとうございました。

  7. TSのH.264変換に悩む at treffen @ Wordpress says:

    2009年9月19日 土曜日 7:20 PM

    [...] せっかくなので、H.264変換で保存しようと、 http://www.teradas.net/archives/446を参考に、最新のffmpegを 導入して、H.264の変換を試みたところ、なぜか上手くいかない。 [...]

  8. hellharmony says:

    2010年1月1日 金曜日 11:40 AM

    ファイルオープンに失敗、のエラーが出るので
    バッチファイルの "%1" の部分からダブルクォーテーションを除いた。
    バッチファイル・ffmpeg・BonTsDemux のウィンドウが開いて
    BonTsDemux の進捗ゲージが伸び、
    右端までいっぱいになって止まっている。
    下端の進捗状況は「サービス名:サーチ中...」。
    TSファイルは557MB・再生時間5分、変換に1時間も待たされるとは考えにくいのだが…

  9. hellharmony says:

    2010年1月1日 金曜日 11:46 PM

    自己解決しました。
    いっこ前のトラックバックの通り、
    旧バージョンのffmpegで動作。

  10. Amulo0912 says:

    2010年8月5日 木曜日 11:45 PM

    FFmpegのサイトにアクセスできません。 リンクをクリックしても、NotFoundになっています。
    どこから入手できるでしょうか?

  11. admin says:

    2010年8月12日 木曜日 7:26 PM

    >Amulo0912 さん
    遅くなりました。リンク先修正しました。
    また、記事中の libx264-hq.ffpreset の記述を使っていただいてもお使いいただけます。

コメントを記入