FC2ブログ
このブログは、ななろうの平凡な日常を淡々とメモ書きしたものです
過度な期待はしないで下さい
2013年03月16日 (土) 16:44 | 東芝 REGZA | 編集 |
 MPEG Expoter TNG 3 の東芝 REGZA 用変換まとめメモ

  MPEG Expoter TNG 3 は、起動時自動アップデートする機能が付いているので最新版だと思っていたのですが、(もう開発終わったものだと思ってましたm(_ _)m)

 手持ちの物は3.46で昨年9月に最新版3.48 が出ていました。
 早速最新版ver.3.48 (Tiger〜Mountain Lion用)をダウンロードしてアップデートしました。

  ver.3.47 built SN (Tiger〜Snow Leopard用)も同じ所からダウンロード出来ます。

  ffmpegを使用した変換にはコンパイル済みのffmpegが必要ですが、初期の設定はらけった版ffmpeg(svn-r8638u)に最適化されています。
 しかし、らけった版ffmpegページを見るとintelMacの動作未確認、未対応と在り逆に動作に不安を感じまして吾輩は、折角の64ビット動作なのだからと、ffmpegも64ビット動作するものを、”static FFmpeg binaries for Mac OS X Intel 64bit ”ページからffmpeg-1.1.3.7zをダウンロードして使用しています。

  ただ、使用ffmpegを切り替えられるので必要に応じで変更も簡単に可能です。

  Snow Leopard以降の環境におけるiOS向けのMPEG-4動画エンコードでは、ffmpegとQuickTime 7を使う方法と、QuickTime Xを使った方法を選ぶことができますが今の所、基本ffmpegのみでエンコードしています。

  気に入っているのは、設定する事で日本語の音声案内が出来る事(たまにうるさい時もありますが(笑))と、ffmpegの2-pass設定の入力とインプットとアウトプットの設定を簡素化出来る、設定をpreset保存できて複数ファイルを一括変換が出来る所です。

設定例
(以下の*libvo_aacencは、ダウンロードしたバージョンによってエンコーダ名が違うかもしれませんし仕様も違う場合があります。以下はメモ的に自分が後日見ても理解できるレベルで書いてます)

・mp4形式変換(画像変換:無し、音声変換:AAC-LC 2CH 64Kbps)
 -f mp4 -vcodec copy -acodec libvo_aacenc -ac 2 -ab 64
 *64は音声ビットレート値なので好みに応じて変えてください。

・flv形式等→mp4コンテナへ無劣化変換
 -f mp4 -vcodec copy -acodec copy 

・MP4(H.264/AVC)形式変換 (ビットレート固定、画像変換:x264 256Kbps、音声変換:AAC-LC 64Kbps)
 -f mp4 -vcodec libx264 -acodec libvo_aacenc -vb 256k -ab 64k 

・mkv形式→mp4無劣化変換
 -f mp4 -vcodec copy -acodec copy 

・mkv形式→mp4無劣化変換(音声トラック指定)
 -f mp4 -vcodec copy -acodec copy -map 0:0 -map 0:2 


・MP4(H.264/AVC)形式変換(画面サイズ:1280x720、ビットレート固定、画像変換:x264 1000Kbps、音声変換:AAC-LC 96Kbps)
 -f mp4 -s 1280x720 -vcodec libx264 -sameq -acodec aac -vb 1000k -ab 96k 
 

ffmpeg Documentation -Table of Contents-

Libavfilter Documentation -Table of Contents-

メインオプション
 ・ -i 入力ファイル名を設定する。
 ・ -f 出力フォーマットの指定。
 ・ -y 出力するファイル名と同じ名前のファイルが出力先にある場合、上書保存する。
 ・ -n 出力するファイル名と同じ名前のファイルが出力先にある場合、上書き保存確認する。
 ・ -fs 指定したファイルサイズになったら変換を終了する。
 ・ -ss 秒単位もしくは構文 hh:mm:ss[.xxx]で指定した時間から変換を開始する。
 ・ -t 変換/キャプチャーされるビデオシーケンスを秒単位もしくは構文 hh:mm:ss[.xxx]で指定した時間にします。
 ・ -title タイトルを設定する。
 ・ -vsync フレームをカットしたり加えたりして音声に動画を同期させる。
 ・ -fs ファイルサイズの上限を設定します。
 ・ -timestamp コンテナに記録するタイムスタンプを設定します。
    構文 = now | ([(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH[:MM[:SS[.m...]]])|(HH[MM[SS[.m...]]]))[Z|z])
   その値が "now" なら、現在の時刻をとります。(通常 "now"設定)
    ’Z’ または ’z’ がついていなければ時刻はローカルタイムで、ついていれば UTC と解釈されます。
   year-month-day 部分が指定されていなければ、現在の year-month-day をとります。

ビデオオプション
 ・ -b 動画部分のビットレートを設定。(デフォルトは、200kbps)
 ・ -r フレームレートの設定。 (デフォルトは、25)
 ・ -s 動画のサイズを横×縦もしくは省略形‘hd720’等で設定。(デフォルトは、元と同じ)
 ・ -aspect アスペクト比の設定("4:3"、"16:9"、"1.3333"、および "1.7777"等)
 ・ -vn ビデオを無効にする。音声部分のみのエンコードなどに使用する。
 ・ -vcodec 使用ビデオコーデックを設定 設定しない場合は入力ファイルと同じコーデックを使用する。
 ・ -cqp 映像品質指定をする。(値が小さいほど品質が高い)

オーディオオプション
 ・ -ab オーディオの全チャンネル合計のビットレートを設定。(デフォルトは、128Kbps)
 ・ -ar サンプリング周波数を設定する。(デフォルトは、44100Hz)
 ・ -ac 音声のチャンネル数を設定する。(デフォルトは、元と同じ)
 ・ -acodec 音声コーデックを設定する。設定しない場合は動画同様入力されたファイルと同じコーデックを使用する。
 ・ -an 音声を無効にする。ビデオ部分のみのエンコードなどに使用する。
 ・ -vol 通常の音量を256として音量を設定する。(2倍の音量にしたい時は512を指定する。)
 ・ -aq 音声品質指定をする。(値が大きいほど品質が高い)


・音飛び発生時の対策→サンプリング周波数を変更してみる。
 元が44100Hz→48000Hzへ、元が48000Hz→44100Hzにて変換してみる。

未整理メモ

-vcodec libxvid -flags +bitexact+mv4 -trellis 1 -me_method full -s 320x240 -aspect 4:3 -r 29.97 -b 768k -acodec aac -strict experimental -ab 128k -aprofile aac_low -ac 2 -ar 44100 -f 3gp -threads 3

-vcodec libx264 -b 768k -s 320x240 -aspect 4:3 -r 29.97 -me_method umh -g 150 -qcomp 0.7 -qblur 0.5 -qmin 10 -qmax 51 -qdiff 4 -subq 6 -me_range 16 -coder vlc -trellis 2 -sc_threshold 50 -flags +loop -flags2 +mixed_refs+mbtree -keyint_min 30 -cmp chroma -level 30 -refs 3 -i_qfactor 0.714286 -acodec aac -strict experimental -ab 128k -aprofile aac_low -ac 2 -ar 44100 -f mp4 -threads 3



オプション(詳細設定)について。



FFmpeg は他のコーデックとオプションを共用する関係で、-vcodec libx264 (映像コーデック H264) の場合の初期値が良くありません。

x264 本家 (x264.exe) の初期値は、ffmpeg の libx264-default.ffpreset にあるとおりです。 (「Craving Explorer Wiki - ipod向け設定」より)



本サイトでの動画変換に関係する部分は以下のようになります。



x264 のデフォルト

-me_method hex -me_range 16 -subq 6 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71

-qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +fastpskip -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8



FFmpeg のデフォルト

-me_method epzs -me_range 16 -subq 8 -g 12 -keyint_min 25 -sc_threshold 0 -i_qfactor -0.8

-qcomp 0.5 -qmin 2 -qmax 31 -qdiff 3 -flags2 +fastpskip



このため、FFmpegでH.264形式動画を作成する場合は、x264 のデフォルトに合わせる形で設定するのが良いと思います。

特に -qmin と -qmax は x264 のデフォルトにあわせたほうが良いでしょう。



最近のFFmpegでは、libx264側でFFmpegのデフォルト値を判定し、一定の条件を満たすとエラーで終了するようになっています。

判定の対象となる FFmpeg のデフォルト値は、

-me_range 0 、-g 12 、-qcomp 0.5 、-qmin 2 、-qmax 31 、-qdiff 3 、-i_qfactor 0.8 、-b_qfactor 1.25 、

-subq 8 で -partitions 指定なしの場合の9つです。



9つのうち、5つ以上デフォルト値の場合、

Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

とエラーが出て終了します。

これを回避する為には、9つのうちいずれか5つの値を FFmpeg のデフォルト以外に指定します。

x264 のデフォルトに合わせる形で指定するのが良いと思います
関連記事
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する