AviUtlを使ったMP4 (H.264) エンコード

必須アイテム名現行の最新バージョン最終更新日
AviUtl0.99h42009/06/15
拡張 x264 出力(GUI)x264.1171.release012009/06/24
MP4PluginMP4Plugin_200905152009/05/15
DirectShow File Reader プラグイン for AviUtl0.25c2008/06/11
Nero AAC Codec1.3.3.02008/09/17

目次

概要

ニコニコ動画の仕様

  • 2008年03月05日から対応したH.264、当初はプレミアム会員のみH.264動画の投稿が可能でしたが、2008年7月5日より一般会員でも投稿できるようになりました。
  • 正式なコンテナは「MPEG-4 Part 10 AVC」です。プロファイルはベースラインプロファイル、またはメインプロファイルが推奨です。
  • 最大ファイルサイズは、プレミアム会員が100MB(104,857,600 byte)、一般会員が40MB (41,943,040 byte)です。(※ディスク上のサイズではなく、本サイズの数値ということに注意。
  • 最大許容ビットレートは、映像と音声の合計で、プレミアム会員が1049kbps、一般会員が656kbpsです。
    • ββ(2008年12月12日)からの仕様変更により、プレミアム会員は最大ファイルサイズが40MB→100MB、最大平均ビットレートが828kbps→1049kbpsへと増加しました。
  • エコノミーモードの発動条件は、ビットレート合計がプレミアム・一般共にMP4では約245kbps以上で、なおかつ再生数500以上の場合です。
    (2009年1月17日時点、○245.26kbps、×246.11kbps。FLVは依然312kbpsの模様。)
    (09年2月26日発動条件が再生数1000から500へ、時間帯は平日18時~26時、土日祝日は12時~26時に変更)
  • MP4コンテナには映像1チャンネル、音声1チャンネル【ステレオ/モノラル】のみ対応です。その他の映像・音声(副音声、サラウンドなど)の多重化は対象外です。
  • 映像の解像度は4:3では512x384、16:9では512x288が表示の基本。800x600以内は問題ないのを確認。それを上回ると解像度制限に引っかかるようで、例えば800x640ではサーバサイドエンコードされてしまいます。
  • 音声AACは以下の3種を使用します。
    • 「AAC-LC」(44.1kHz/48.0kHz・320kbps~88kbps推奨)
    • 「HE-AAC」(44.1kHz/48.0kHz・80kbps~48kbps推奨)
    • 「HE-AACv2」(44.1kHz/48.0kHz・40kbps~16kbps推奨)
  • オーディオ情報の無い動画はサーバサイドエンコードされます。無音の動画を作る際は無音の音声ファイルと合成させましょう。
  • これらの仕様を満たさない場合は通常の動画として扱われ、通常のサーバサイドエンコードの対象となります。
  • サーバーサイドエンコードされない仕様で投稿した際にも「エンコード中です…」としばらく表示されますが、これはエコノミー用の低解像度動画(FLV,on2VP6,QVGA?)が新規にサーバーサイドエンコードで生成されるためです。エコノミーモードが発動しなければちゃんと投稿動画の画質で再生されます。
    • エコノミー回避条件も満たして投稿すれば「エンコード中です…」表示はほとんどないはずです。
  • エンコードにあたっては「zoome Wiki Encode」も参考にして下さい。
  • AACの種類
    AAC-LC、HE-AAC、HE-AACv2はABRに該当し、品質をコントロールし目的のビットレートに収めます。
    • 「AAC-LC」は一般的にAACと呼ばれている物です。通常はこれを選びましょう。
      • 高音質(低圧縮)。
      • ジャズやクラシックなど、音に奥行きや深みがあり全体が落ち着いているBGM向き。
      • およそ80kbps以下の低ビットレートには不向き。
  • 「HE-AAC」(AAC-LCの高圧縮タイプ)は、80~48kbps程度の低ビットレートで音の破綻を防ぐのに効果があります。
    一方でそれ以上のビットレートを割り振っても、音質は上がりにくいという性質があります。
    • サントラやアルバムなど、1つの動画で長い時間BGMが流れる動画向き。
    • ポップ、ロック、トランス、演歌など、所々でテンポが変わるBGM向き。
    • 長時間の動画でビットレートをあまり割り振れない場合。
    • 短い再生時間の動画で、画質重視したい場合。
  • 「HE-AACv2」(AAC-LCの超高圧縮タイプ)は、40~16kbps程度の超低ビットレート時に用います。
    • 実況プレイ動画や中継動画など、長時間の収録が必要な場合。
    • 120分を超えるサントラやメドレーおよび作業用BGMなど、非常に長い動画を作成する場合。
    • 極限まで画質に容量を割り振りたい場合。
    • 古いラジオや単純な効果音など、元々低音質なものを軽く仕上げたい場合。

低ビットレートでの特性(HE-AAC=aacPlus v1, HE-AACv2=aacPlus v2)

FLV4 (VP6+MP3) との違い

  • 基本的にはVP6より高速に圧縮できます。x264.exeはマルチスレッドに対応しているため、高性能なPCほどVP6との速度差が開きます。
  • エンコードの際に上下反転するバグがないので、余計な手間がかかりません(上下反転を回避する手段も実はある)。
  • 数々の新技術のおかげでVP6と比べてH.264は綺麗に圧縮できます。
  • 音声 (AAC) は特に低ビットレート(大体80kbps以下)においてMP3よりかなり綺麗に圧縮できます。192kbps以上であれば著しい差は発生しませんが、概ねAACが良質です。
  • VP6よりデコード負荷が高いと言われています(つまり非力なPCほど再生する際に重くなる)。特にCABACを有効にしたり、Bフレームを多用すると負荷が高くなります。

手順

1.準備

  • 当然だけど、ニコニコ動画に投稿したい動画は自分で用意しましょう。動画の作成から始めたい、という人は動画の作り方ページなどを参照して下さい。
  • AviUtlと、それに関するフィルタ・プラグインを使用するので、まずは初心者の為のAviUtl導入方法(2004/01/21更新)を必ず読んでおきましょう。
  • 以上を理解した上で、各種ソフトウェア・ツール類をダウンロードしましょう。
  • AviUtl
    ダウンロードしzipを展開。パスの都合上、C:やD:等、ドライブ直下にフォルダを置くことを推奨。
  • ResizeFilter (09/06/24)
    多種多様なアルゴリズムを搭載した拡大・縮小フィルタ。SSE2、マルチスレッド対応、アセンブラで組んであるため、上記ソフトより高速。
    中でもSpline36はLanczos3より滑らかでアニメ向きな上、容量も小さくできてニコニコ動画向き。
  • DirectShow File Reader プラグイン for AviUtl 0.25c
    Windows Media Playerが読み込めるファイル等を扱えるようにする入力プラグイン。ffdshowをインストールして連携させるとより多くのファイル形式も読み込み可能。
    ※version0.99gから、Frapsで録画したAVIファイルもAVI/AVI2 File Readerで正常に読み込めるようになったので、DirectShow? File Readerの優先度を上げていたた人は優先度を下げましょう。
  • 拡張 x264 出力(GUI)
    H.264出力プラグイン。同封されている「readme.txt」を必ずよく読んでおくこと。ダウンロード先は
    2.プログラム → 改造したソフト → x264 詰め合わせ → x264.○○○.rarの最新版
    (更新頻度が高いソフトだが、基本的には最新版で良い)
    解凍したら出てくる「auo」フォルダ内の「x264gui.auo」と「x264gui.ini」を、AviUtl.exeがある階層に入れる。
  • MP4Plugin
    MP4の編集を行うためのプラグイン。入力とエクスポートの2種セット。ダウンロード先は
    2.プログラム → 改造したソフト → MP4Plugin → MP4Plugin_○○○.rarの最新版
  • Nero Digital Audio 1.3.3.0
    音声のAACエンコードに必要。AAC-LC、HE-AAC、HE-AACv2のエンコーダ。実際に必要なのは「neroAacEnc.exe」のみ。
    入れる場所は自由だが、入れた場所は後に指定する必要があるので覚えておくこと。AviUtl.exeがある階層に入れると覚えやすいかもしれない。
    ※1.3.3.0から2passABRの挙動が変化(改善)しました。
  • 完成した動画の再生確認用には、FLVプレイヤーFlavieが、ニコニコ動画での再生と同じFlashPlayer?を利用して再生できるのでお勧めです。MP4にも対応しています。
    MediaPlayerClassicffdshowも用意しとおくと良いでしょう。
  • 参考…AviUtl用GPU対応フィルタ・プラグイン
    GPGPU。処理にGPUを使うことでCPUとの分散処理、時間短縮を実現します。
    ※GPU…PCのグラフィックボードに搭載されている、グラフィック処理に特化したCPU(と思えば差し支えないはず)。最近はGPUの高性能化により、CPU負荷が高くてもGPU負荷が低くてGPUの性能を持て余す状況や処理が増えているため、GPUに処理を分散させて有効活用しようというのがGPUフィルタ・プラグイン。ソフトウェア側の対応が必要。
  • NL-Means filter 0.14 (2008/12/13)
    綺麗で特にアニメに向くNR(ノイズリダクション)フィルタ。
    効果は絶大だけどGPUに多大な負荷をかける為、熱暴走や電源容量不足に注意。

(追加・訂正お願いします)

2.リサイズと黒べた

3.音声ビットレートと映像ビットレートの決定

 音声ビットレートと映像ビットレートを決定する目安は、100MBと40MBで使用できるビットレート早見表や、次の「ビットレート設定 一覧表」や「ビットレート計算手順の例」を参照すれば、なんとなくつかめるはず。

 なお映像ビットレートを抑えるにあたって、ただの一枚絵なら5kbps以下、動きの少ない紙芝居や画像のスライドショー等なら30kbps以下まで落とせます。余った分を音声に割り振れます。

 逆に、音声ビットレートを抑えるにあたって、モノラル化は結構効果があります。音を左右に振る必要のない音源などは特に、128kbpsのステレオと64kbpsのモノラルがほぼ同じ音質になる(ジョイントステレオを考えなければ)ので、事前にWAVをモノラル化すれば音声ビットレートを約半分に抑えることができます。
 また、サンプリング周波数の低周波化でもビットレートを抑えられます。WAVファイルの段階で、例えば48kHzを24kHzに、44.1kHzを22.05kHzに変換すれば、ビットレートを半分に減らせます。サンプリング周波数を低くするほど高周波成分が欠けるので、音楽もメインな動画では避けるべきですが、喋りは高周波成分が少ないので実況や語りがメインの動画ならあまり気にならないはず。但し変換は音声編集の最後にやりましょう。サンプリング周波数の異なるデータを繋げると再生速度が変わったり色々おかしくなりがちです。

  • ビットレート設定 一覧表
    あくまでも一例ですので、必ずしもこの通りにやる必要はありませんが、参考程度にしておくとよいでしょう。
    当たり前の事ですが、画質重視か音質重視かによって数値が異なりますし、フレーム数にもよります。
    所要時間は目安です。お使いのPCスペックや設定により所要時間が大きく異なります。
    ※この表のビットレート割り当ては、一般会員で40MB上限近くまで使っての例です。
    プレミアム会員で100MB使う場合は、おおよそ2.5倍の余裕があります。
    再生時間AAC-LCHE-AACHE-AACv2エンコード
    所要時間の目安
    映像音声映像音声映像音声
    5分33032059064(不適)30分
    10分32019248064(不適)1時間
    15分23012830064(不適)1時間30分
    20分1709620064(不適)2時間
    25分1209615064(不適)2時間30分
    30分1156412556(不適)3時間
    40分(不適)8548100324時間
    50分(不適)654085245時間
    60分(不適)553280206時間
  • ビットレート計算手順の例
    ビットレートの数字はあくまで一例です。
    ※ビットレート計算に用いられる「k(1000倍)」と、Windows内のファイルサイズ表示等に使われる「K(1024倍)」は違います。混同しないように(一応「b(=bit)」と「B(=byte、1B=8bit)」も)。フリーウェア等のソフトの中にも間違えているものがあるようです。その場合は作者に教えてあげてください。
    手順一般会員プレミアム会員
    (1)作る動画の再生時間を調べ、秒に直します。(例として10分の場合) 10[分]→600[秒]
    (2)ニコ動のファイルサイズ上限をkb(キロビット)に直します。40[MB]×8×1024×1024÷1000
    =335544[kb]
    100[MB]×8×1024×1024÷1000
    =838861[kb]
    (3)ファイルサイズを再生秒で割り、
    おおよその最大ビットレートを求めます。
    335544÷600=約559[kbps]838861÷600=約1398[kbps]
    (4)ニコ動の最大ビットレート制限を越えないようにします。
    (一般656[kbps]、プレミアム1049[kbps])
    546[kbps]1398 → 1049[kbps]
    (4.5)エコノミー回避優先の場合、そのビットレート制限
    (MP4は245[kbps])も越えないようにします。
    (エコノミー回避優先)
    546 → 245[kbps]
    546[kbps](エコノミー回避優先)
    1049 → 245[kbps]
    1049[kbps]
    (5)設定の自由度が低い音声ビットレート
    先に決めます(目安:AAC-LC 96[kbps]でCD音質)。
    64[kbps]96[kbps]64[kbps]192[kbps]
    (6)最大ビットレートから設定した音声ビットレートを引き、
    仮最大映像ビットレートを求めます。
    181[kbps]450[kbps]181[kbps]857[kbps]
    (7)ヘッダー情報分確保と、ビットレート設定のブレ対策で、
    少し減らして映像ビットレートを決めます。
    181→
    175[kbps]
    450→
    445[kbps]
    181→
    175[kbps]
    857→
    850[kbps]
    ※FLV(On2VP6+MP3)と比べると、MP4(H.264+AAC)は2passならばビットレートのブレはほとんどありません。
    当たり前の事ですが、ビットレートの数字はあくまで一例です。画質重視か音質重視かによっても数値が異なります。

4.バッチ登録

マルチパスとシングルパスがあります。

  • マルチパスでのエンコードの特徴(推奨
    • 前パスでビットレートの変動を記録し、指定のビットレートに落とし込むためにマルチパスが必要となります。
    • 2pass、または3pass以上とすることで、シングルパス以上の高画質が見込めます。
    • 基本的にエンコード時間のバランスが良い2pass、画質上昇が見込まれる3passまでで良いでしょう。
    • なお、VP6でのマルチパスと違って、H.264では最後の本番エンコードのみファイルが作成されます。それまでの中間ファイル自体は出力されません。
  • シングルパスでのエンコードの特徴
    • シングルパスは、動画全体のビットレートの変動を詳細には調べず、エンコードを1回だけ行います。
    • 画質や音質にこだわらず、エンコード時間をかけたくない場合はシングルパスで。
  • マルチパス・シングルパスでのエンコードの手順&設定
    • 初挑戦時は短時間の動画ファイルでの練習推奨! エンコード時間が長く(環境によって再生時間の数倍から10倍以上)かかるためです。長い動画の場合は編集ソフトで切り取るなどして、短いテスト動画を作ってテストしましょう。
      • 一番初めは10~20秒の動画で、どんな手順でエンコードを行うかの確認だけ。画質の評価には短時間すぎて向きません。
      • エンコードのテストとして、もし画質についても評価したければ1~2分以上の動画(3000フレーム以上の動画)が無難。
    • 上下反転はしないで下さい。VP6では必要でしたが、このH.264では不要です。
    • エンコードしたい動画の音声がMP3やWMAなどで圧縮されていると出力されない場合があるので、事前に外部(別のツールなど)でPCM-WAVの音声のみの別ファイルに変換して用意して下さい。
    • エンコードしたい動画の音声がステレオで、これをモノラルで出力(AACエンコード)させたい場合も、事前に外部(別のツールなど)でモノラルのPCM-WAVの音声のみの別ファイルに変換して用意して下さい。

    1. AviUtlで、[ファイル] → [開く] でエンコードしたい動画を開きます。
      ※ 1.5.(上記のような事例に当てはまって、エンコードしたい動画の音声を外部でWAVファイルにして用意した場合
      [ファイル] → [音声読み込み] を選択し、用意したWAVファイルを開きます。
      (これにより、エンコードしたい動画のMP3などの音声は使われず、「エンコードしたい動画の映像」と「用意したWAVの音声」がエンコード対象になります。)
    2. [ファイル] → [プラグイン出力] → [拡張x264出力(GUI)] を選択し、出力ファイル名を適当に入力します(ただし、出力先フォルダ内にあるWAVファイルと同名だけは避けてください。エラーになります。NG例:出力先フォルダに「test.wav」があるときに出力ファイル名を「test(.mp4)」にするとエンコードの最後でエラーになってしまう)。
    3. [ビデオ圧縮] ボタンを押すと【拡張x264出力(GUI)】ウィンドウが表示されます。メニューの [プリセット] から「NicoNico:超画質(超低速)」を呼び出し、以下の項目を設定しましょう。
      ※ここに記載されていない項目は、よくわからなければ無理に変更しないことをお薦めします。
      逆に、項目について知りたい場合は拡張 x264 出力(GUI)の設定項目とその機能についても参考にして下さい。また、ニコニコ動画にアップされている各種H.264解説動画の設定ぶりを参考にするのもアリです。

      マルチパス用の設定推奨シングルパス用の設定
      音声エンコーダNeroAACエンコーダ
      neroAacEnc.exeの指定右のボタンを押して「neroAacEnc.exe」を入れた場所を指定
      エンコード設定事前に決定した音声ビットレート(に近いもの)から好みで選択
      AAC-LC (320kbps~88kbps) 高音質、標準
      HE-AAC (80kbps~48kbps) 長時間向け
      HE-AACv2 (40kbps~16kbps) 低音質、超長時間向け
      2passオン
      処理モードWAV
      ビットレート
      映像(ココ重要→)マルチパス - Nth PASSシングルパス - 固定ビットレート
      ビットレート事前に決定した映像ビットレートを指定
      nul出力オン←ココ重要オフ
      自動マルチパスオン、数値は2~3推奨
      (例:2を指定すると2pass。3を指定すると3pass。
      3passだと2回nul+1出力の計3回エンコード)
      あまり多くても意味は無いうえ逆効果になることも。
      レート設定
      量子化の限度QPの下限ニコニコ動画では10程度が適当
      シーンカットIDRフレーム間隔の下限アニメなら1 その他は24や30など、フレームレート辺りが目安
      IDRフレーム間隔の上限シーク間隔。VP6のMax Frames Btw Keys相当?
      10秒ごとにシーク可能にするならfps×10を入力。
      マクロブロック
      マクロブロックタイプの設定チェックボックス4x4, 4x8 and 8x4 Pフレーム動き補償以外すべてオン
      Bフレーム設定チェックボックスすべてオン
      Bフレームの最大連続数50~3
      参照距離31
      詳細
      動き予測サブピクセル精度96
      ※数値を上げるほど、高圧縮で高画質が期待できるが要長時間
      例えば5から6にすると1割程度圧縮率向上
      動き予測アルゴリズム静止画に近い動画なら「Diamond Search」
      どっちつかずなら「Hexagonal Search」
      よく動く動画なら「Uneven Multi-Hexagon」(umh)
      CPUパワーを有り余らせてるなら「Exhaustive Search」(esa)
      CPUパワーと時間を有り余らせてるなら「Hadamard Exhaustive Search」(tesa)
      (下のものほど要長時間で高画質
      下の2つ(esa,tesa)は余程の高性能CPUでもない限り非実用的)
      ベクトル探索範囲
      (umh選択時)
      3216
      彩度動き予測オン(ほとんど動きがない動画ならオフ)
      詳細設定スレッド数0。使用CPUスレッド数。0で自動設定
      ノイズ除去素の動画が酷くない限り0でよい
      RD最適化All MB EncodeNONE
      ログ表示NONE
      チェックボックスインターレース保持以外すべてオン
      デブロックフィルタ強度・閾値オン(0から-2程度。+方向には不要)
      その他
      Adaptive Quantizationモードアニメーションでは無効
      Psy-RDRDO実写系では0.50 アニメやCGでは0.00
      コマンド
      次の通りに手入力すること(すべて半角英数使用)--colormatrix "smpte170m"
      拡張設定
      拡張設定初期Delayカットオフ ※1
      TimeScale4倍精度オフ ※1
      ビデオ先読みスレッドオン
    • ※1
      拡張設定を使用する事によって、エコノミー時の画質が著しく低下する場合がある。
      詳しくは下のMP4のエコノミー画質が著しく低下する例を参考に。
      ただし、エコノミー回避できる条件(ビットレート等)を満たした動画を作成するならばオンでもよい。

    • (画質劣化を妥協して)エンコード時間を抑えるコツ
      • Bフレーム設定の参照距離の数値を下げる
      • Bフレーム設定のBフレームの最大連続数を下げる
      • 動き予測アルゴリズムの精度を落とす
      • サブピクセル精度の数値を下げる

5.エンコードの開始

※エンコードが始まると時間がかかるので、出かける前や寝る前などに実行するのが良いでしょう。

  1. 上の表のように設定したら [バッチ登録] ボタンを押します。
    ※なお、ここで [バッチ登録] ボタンの代わりに [保存] ボタンを押すと、すぐにエンコードが始まりMP4が出力されます。次の手順の「バッチ出力終了時に」の機能が不要であればこちらで。
  2. [ファイル] → [バッチ出力] を開きます。任意で「バッチ出力終了時に」から [ウィンドウズをシャットダウン][AviUtlを終了] などを選択することもできます。
    [開始] ボタンを押すとエンコードが始まりMP4が出力されます。

※もし、エンコードをしてる最中にエンコードを一時停止させたい場合は、メニューの [その他] → [バージョン情報] を表示させるとよい。


Tips・トラブル対策

  • AVI出力からの作成法
    • プラグイン出力をうまく導入できない人がいるのでAVI出力からの動画作成方法を記載します。ただしAVI形式ではH.264は正式にサポートされていないので推奨はできません。
    • 必要ソフトのダウンロード・インストール
    • 上記(プラグイン出力の場合)と同じもの
    • x264vfw encoder Unofficial build(更新終了)またはSourceForge.net:x264vfw(開発継続中)
      インストーラのJPNのものをダウンロードしインストール。上記のH.264の出力プラグイン内のvfwでもかまわないがプラグインを認識しないのであればこれをインストールしてしまう方が良いと思う。
    • pthreadGC2.dll
      ダウンロードし、"C:\Windows\System32"内にインストール。
      1. 動画のエンコード
        aviutlを使ったVP6 2pass参照
        コーデックがx264になっただけ。設定はプラグイン出力を参考に。
      2. AVI→MP4
        MP4Boxを使ってMP4にする。
      3. 音声の変換と合成
        別途SwitchなどでAACを作成してMP4Boxを使って動画と合成。
  • wmvからMP4作成
    1. TMPGEncを起動し、wmvを読み込む。[ファイル] → [プロジェクトの保存]をする。tprができている。
      AviUtlを起動し、。[ファイル] → [開く]で先ほどのtprを選択。後は、エンコードするのみ。
  • 音声を後から合成する
    1. まずWAVE出力を行う。
    2. Switch等を使い、WAVE→AACへ変換する。
    3. MP4BoxYambを同じ場所に置き、Yambを使いMP4(またはAVI)とAACを合成する。
    • 合成されたMP4を分離することもできます。
  • 複数のmp4動画の結合・合成
    • x264のエンコードオプション(BフレームやCABACなど)が同じmp4でないと、無劣化での結合・合成は出来ません。エンコードオプションが違う場合は、素直に再エンコードしましょう。なお、目標ビットレートまたはcfrやqp、レート設定などのストリームによってパラメータが変化するオプションは、異なっていても恐らく構わないものと思われます。
  • MP4Pluginを使うことで、AviUtlでmp4の結合が出来ます。結合したい動画を追加読み込みで順に開き、[ファイル] → [エクスポート] → [MP4 Export]を選択し、適当に名前をつけて保存します。[ファイル] → [環境設定] → [システムの設定]で、「追加読み込みしたファイルのfpsを変換しない」にチェックをつけることで、fpsの違う動画やvfrの動画も結合することが出来ます。MP4 File Readerの方がDirectShow? File Readerよりも入力プラグインの優先度が高いことに注意しましょう。
  • UniteMovieを使用することで、以下の動画を結合することができます。
    • 同解像度
    • 同ビットレート(動画のビットレートは多少違っても大丈夫の場合と、再生時にエラーが出る場合がある)
    • 同fps(タイムスケール変更で対処可能?)
      ※結合に成功しても、必ずしも再生できるとは限りませんので注意!
  • YambはMP4BoxのGUIフロントエンドですが、結合などの処理に関しては最低限のオプションしか使用できないので、コマンドラインを使える人はMP4Boxを使うことをお薦めします。

  • 大抵の場合、映像と音声の尺は微妙に異なるため多くの動画を連結すると音ズレが発生します。
    • infoオプションで映像と音の尺の違いを確認しましょう
    • 入力の際に、:の後にdelay=***と書くことで任意のストリームを任意msだけ遅らせることができます。
  • MP4Boxの概要
    mp4box [入力...] 出力
    入力 ::= (-cat|-add) 入力1[#ストリーム][:オプション...] (-cat|-add) 入力2[#ストリーム][:オプション...] ...
    
    mp4box -info 情報が欲しいmp4ファイル
  • 入力されたストリームを、全て結合して出力します。
    • mp4ファイルは内部にストリームと呼ばれる単位で別個のデータを保存しています。
    • ストリーム1は映像、2が音声。 大体は。 それ以外のものが入っているとニコニコに弾かれる(?)
    • 詳しくは-infoオプションを使って見てみましょう。
  • それぞれの入力の前に"-cat"とつけるか"-add"とつけるかで、挙動が異なります。
    • addなら新しくストリームを0:00から始めます
    • catなら既に存在する同種のストリームのお尻に連結します
  • #によるストリーム指定は任意です。 "#video"または"#audio"のどちらか。
  • :を使っていくつかのストリーム入力オプションを指定することができます。 オプションの度に:を書きます。
  • 出力先のファイルがすでに存在していた場合上書きでなく追加を行なうので注意してください。
  • 音声だけで映像が無いファイルが出来る問題について
    • x264gui.auoの最新版を導入すればたぶん回避できます。
    • 他の回避方法
      • 1stPASSで「nul出力」をオン、2ndPASSで「nul出力」をオフにする。
      • それでもダメなら1stPASS終了後にAviutlを再起動してから2ndPASSをする。
        (1stPASSだけバッチ登録→バッチ出力→2ndPASSをバッチ登録→Aviutl再起動→バッチ出力)
    • QuickTimePlayerで再生してませんか?
      出力した.mp4ファイルを再びAviutlで開いてみるか、MediaPlayerClassic?やGomplayer等で再生してみると上手くいってるかもしれません。
  • エンコード最後に「ファイルの出力に失敗しました」とエラーが出て、映像のみのmp4とwavの2ファイルが出来上がってしまう問題について
    入力の動画のPCM(WAV)音声のサンプリング周波数が、48kHz、44.1kHz、32kHzのいずれかおよびそれらの整数分の一(24kHz、22.05kHz、11.025kHzなど)から少しでもずれている(44.102kHz、22.048kHzなど)場合、neroAacEnc?が音声ファイルを正常に処理できないため、このエラーが発生するようです。
    対処法としては、サンプリング周波数を変換したり、元の録音ソフトや機材等で正確なサンプリング周波数を出力するように調整(?)してください。
  • MP4のエコノミー画質が著しく低下する例
    MP4で800kbps(または600kbps)、29.97fpsの動画をアップロードした際に、エコノミー時の動画が59kbps、119.880fpsとなる場合がある。
    これは上記のビットレートとフレームレートでアップロードした場合の、一般的なエコノミー動画よりも、ビットレートが約4分の1でフレームレートが約4倍になっている為に、画質が悪く音ズレなども引き起こす、非常にやっかいな不具合である。
    アップロードされた動画はsmilevideoによってエコノミー時の動画が自動的に生成される為に、smilevideo側に問題があると思われているが、詳細は不明。
    元のMP4のサイズが512*384、29.97fpsの動画にこのバグが起こりやすいが、まれに24fpsの動画でも同様の症状が確認されている。
    原因は不明。「可変フレームレート」周りともいわれたが現在は不具合は無くなった模様?
    x264の初期Delayカット、TimeScale4倍精度等の拡張設定を使用する事によって、この不具合が起こる可能性がある。
    エンコしている環境にも依存しそうな問題なので、どうしても使いたい場合は1度アップロードテストをしてエコノミー時の画質を確認しておいた方がいい(動画のURL末尾に「?eco=1」を加えると強制エコノミーモード再生が可能)。
    最後は余談になるが「MP4はエコノミーの動画がひどい」と言われているのは、おそらくこの不具合の影響だと思われる。
    本来のエコノミー動画は、flvもmp4もあまり変わらないように設定されている。
    【参考】エコノミー動画が著しく酷くなった原因について http://valencia1094.blog28.fc2.com/blog-entry-27.html
  • 低スペックPCユーザーのために動画再生時の負荷を小さくしたい場合
    ※注意! 再生負荷を下げる程、画質も低下します
    (2009年04月27日に新プレイヤーが実装され、再生負荷も減少しました)
    BaselineProfile?(Bフレーム無効・CABAC無効)にするとVP6並の負荷になる。
    ただし圧縮効率(画質)も下がるので、どちらか一方は有効にするとバランスが良いかも。
    どちらを無効にした方が良いかは映像の内容によって異なるので、自分でテストしてみる。
    fpsは高いとその分デコード負担が増える(60fpsなら30fpsの倍かかると思ってもいい)。
    解像度が大きい程デコード負荷が増える(512x288より512x384の方が負荷が大きい)。
    よって512x288動画を黒べたで512x384にすると無駄な負荷増になるので注意。
    おまけ・プレイヤーの「コメントを自動受信する」にチェックが入ってた場合、オフにすると再生負荷減。
    【参考】
    デコード負荷の軽減
    x264 デコード負荷を軽減するためにx264 ニコニコ動画 1Mbps の影響
    拡張 x264 出力(GUI)の設定項目とその機能について
  • MP4ファイルを解析するツール ~ファイルがおかしいか調べたい、エンコードオプションを調べたい、etc.~
    エンコードは終了したけどうまく再生できないといった場合、質問する前にまずは解析ツールで調べてみてください。
    特に質問したい場合、解析ツールでの調べた結果も貼り付けると、答える側が答えやすくなります。
    • 解析ツール
真空波動研Lite(または真空波動研)
定番。ただし音声AACをNero Digital Audio 1.3.3.0のAAC-LCで作成すると、(音声自体は正常なLCのようですが)Neroの作成するヘッダーはおかしく、それを真空波動研は厳密に解析するためLCではなくHE(LC)と表示されます。
MediaInfo GUI
日本語訳が一応使える英語ツール。H.264のエンコードオプションも、表示を「ツリー」以外にすれば全て確認できる。
AVInaptic(本家英語解説)
英語ツール。しかもLinux系ソフトをcygwinによるWindowsエミュレーションで動かしている(?)ので若干操作性に難あり。しかしとても詳細な解析データを得られる。H.264のエンコードオプションも全て確認できる。

コメント

 
お名前:
  • ↓追記:ニコニコ動画再生も干渉を受けました.エンコに専念さすべきのようですね、直前のGUIバージョンでは干渉されなかったのでしばらくの間戻るろうかな -- 2009-06-30 (火) 14:10:52
  • 拡張H264GUI x264.1171.release01 にしたら FLV Playerが干渉受けて出力サインに合わせてカックン、カックン再生、エンコ中に使えないなぁ、ストリーム再生に一番近い雰囲気だったんだが残念。音が良すぎてチェックには使いにくいけど現在 mediaplayerclasic-mpchc_Rev.908-fg-vc9で代替 -- 2009-06-30 (火) 07:48:29
  • ↓-6,4,1【低ビットレートモザイク動画の対処】解決しました./ H264GUIのプリセット設定 -> 高速(1パスVBR)/ 初期値Qulityを大きくしながら映像にブロックノイズが出ない限界を見つける./ シーク時間の短縮はビットレート上昇となるのでfpsの10倍で妥協./fpsは画面転換にトランジット効果をしないなら限界(1fps)まで下げれること、ビットレート節約、エンコ時間短縮効果を確認し、無事MP4エンコード(30分位)できました...大変お世話になりました. -- 2009-06-28 (日) 07:54:29
  • ↓-4:【低ビットレートモザイク動画の対処】やはりビットレート不足ですかね,でもニコ動の静止画付BGM動画は真空波でも、バイト数から計算しても10kbps近辺でfpsは1~30fps様々でした。今作ろうとしてるのは97分(5820sec)のラジオ番組に基準静止画を全編配置、3分-19個の静止画クリップ挿入をexeditで配置、YLCロスレス.aviまではたどり着いたんですが、どうにもMP4がモザイク映像で困り果てています。fpsに関してはフェードを入れたいんで10~30のつもりだったんですが1でも試してみます. -- モザイク画対処? 2009-06-27 (土) 23:39:19
  • ↓もしも低画質にエンコードしたくなくてそのままの画質で、後ろの時間を気にしないのなら、最近よくあがってる限界突破動画を参照して後ろに低ビットレートの動画を付けて足して、@ジャンプ #0:00 で最初から再生するなりするといいかもしれない。作り方はここを参照→http://looooooooop.blog35.fc2.com/blog-entry-21.html -- 2009-06-26 (金) 22:56:10
  • ↓追記 800kbpsでエンコしても950kbpsでエンコしても出力ファイルを真空でみると同じ値が帰ってきました -- 2009-06-26 (金) 22:17:25
  • Frapsで撮影→VirtualDubでavi結合→aviutlで字幕という編集をしているのだが(当方プレミアム)動画時間630secAAc-HE56kbpsビットレート900kbpsで3passエンコしたらできたmp4が1200kbps超えてはじかれてしまう、対処法を教えてください -- 2009-06-26 (金) 22:15:12
  • ↓↓単にビットレート不足。一枚の静止画でもある程度はビットレートが必要。ずっと一枚の静止画のまま一切画像が変化しないのならフレームレートを下げる(1fpsとか)のも忘れずに。 -- 2009-06-26 (金) 19:09:09
  • ↓↓↓10分ではビットレート制限よりも前に動画データ量40MB制限にひっかかるから。「3.音声ビットレートと~」のはじめにあるビットレート早見表リンクを参照。 -- 2009-06-26 (金) 19:05:43
  • 1枚の静止画を流しっぱなしの低ビットレート(ニコ動作品を参考に6kbpsぐらい)動画作ったんだけど、モザイク画が揺れてるだけ、264Guiの設定はどうすればいいでしょうか? -- 2009-06-25 (木) 12:06:43
  • ↓-1:ビデオクリップの一部分(15秒程度)を切り出して作ってUpしてみては?.できれば動きの変化の激しいところ推奨、FLVoutputPlugin?使ってV-328 A-320 計648kbpsで楽勝Upと思いきや拒絶された(ビットレートのピークとか必ずしも平均レートだけではないのかも) -- ippan-01? 2009-06-25 (木) 11:42:16
  • 3.音声ビットレートと映像ビットレートの決定の、ビットレート計算手順の例の一般会員の例の最大ビットレートが(4)で656kbpsと表記してあるのに(4.5)では546kbpsになってるのはなぜですか?プレミアム会員の項目では1049kbpsのままなのに -- 2009-06-24 (水) 21:43:13
  • 音声のエンコード設定はAAC-LCの128kbps。CPUはセレの2,93GHz メモリは2Gです。どなたか原因お分かりになる方いらっしゃいませんか? -- 2009-06-24 (水) 02:45:37
  • ↓追記。上で紹介されている動画にあった通り、一度音声をWAVE出力してからやってみようとしたのですが、WAVE出力した時点で音声が異常でした。 -- 2009-06-24 (水) 02:36:44
  • この方法で二回目のエンコードをしてみたのですが、音がぷつぷつ途切れていました。一回目は大丈夫だったのですが……どなたか同じ症状が出た方いらっしゃいませんか? ちなみに設定、フィルタ共に一回目と同じです。 -- 2009-06-23 (火) 20:08:16

最新の15件を表示しています。 コメントページを参照


ニコwikiサイト内検索
カスタム検索
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS  ニコニコ関連記事のRSS 
Last-modified: 2009-07-01 (水) 03:34:32 (2d) Site admin: takechan
Powered by はてなウェブサービス SimpleAPI