ホンダ ジェイド250

Waste Days

バイクとPCと時々のぎ

ここんとこ動画関連の話題が続きますな

今日は60iテロップが入っているソースのエンコード方法について

 

まず可変フレームレートとは何ぞやということで簡単に説明します

まず動画というのはソースによって適切なフレームレートがあります

例えばアニメや映画なんかのフィルムものなら24fps

実写のドラマなんかは30fpsです

しかし実写なら全編通して30fps固定化というとそうでないようで

例外もあります(アニメも)

その最たる例がドラマなんかでよくある上下あるいは左右に流れるテロップです

こいつはほとんどが30fpsのソースの上から60iで入ってる場合が多く

インターレース解除自動だと縞はなくなりますが動きがカクカクします

本編の人物はスムーズなのにテロップがカクカクだとあまりいい気分がしません

何でカクカクかというと

前回実写ドラマなんかはもともと30フレームのものは少ないと言いましたが

本来60フレームのものを地デジならmpeg2に変換するときに

60i→30iというようにfps変換してるのです

アニメの24→30i化と違って元のフレームの半分は間引かれてしまっているので

完全に元に戻すことはできません

しかし今のPCあるいはDVDやBDの映像分野では実は30fpsが主流で

60fpsで収録された動画って言うのはまったくといっていいほど見かけません

というか自分も見たことないんですが

つまりなんで60fpsを30fps化しても不満がないかというと

テレビで見ることを前提にしてるから

30fpsのインターレースソースをインターレース対応のモニタで見れれば

インターレース解除とかフレーム変換もまったく不要なわけで

あー話がそれましたが

つまりは30fpsのものも擬似的に60fpsに戻してやらないと不具合が出る場合がある

特にインターレース非対応のPC用モニタなんかでは特に

でどうするかと言うと

60iのテロップのはいっている部分だけ60fps化しちゃいましょうということです

いや待てテロップ部分が60iなら本編も60fps化すればいいジャンって言う

鋭い突込みがきそうですが

前にも言ったように前編を60fps化するのはファイル容量的に厳しい

その上デコードも重くなります

そりゃHDDに余裕がある人やマシンスペックが自慢の人はいいかもしれません

というか理想ですけど

実写ソースは60fps化が鉄板ですが

オイラみたいな貧乏人にはオヌヌメしかねます

ですのでどういうことをするかというと

mp4コンテナはひとつの動画に異なるフレームレートが存在してもOK

という仕様があるのです

本編は30fpsでエンコードしテロップ部分のみ60fpsでエンコードして

対応した出力プラグインで連結して出力するとちゃんと再生できます

では以下に自分の場合の具体的な手順を書きます

以下は全てAviutlで30fpsソースの場合です

下準備として映像はDGIndexで.d2v形式として出力しVFAPIで読み込み

音声はRawAACなのでFakeAACtoWavで擬似wave化して読み込ませる

Aviutlプラグインのmp4pluginを入手してプラグインフォルダに入れておきます

Aviutlの環境設定→システム設定→追加読み込みしたファイルのfpsを変換しない

にチェック(重要)

コーデックはH.264とします

1.まず本編を適当にCMカット

・・・これは主に音声をカットするためで

そのままエンコードしたら前編30fpsになるので注意

カットした音声はもちろん擬似waveなので再圧縮なしでコピー出力

再びFakeAACでもとのRawAACに戻しておきましょう

そうしたらテロップが流れる直前と流れて終わった直後を見つけます

2.ソースの先頭フレームからテロップの流れる直前のフレームまでを範囲指定し

自分で分かりやすい名前を適当につけてH.264でエンコード

3.流れて終わった直後のフレームからソースの最終フレームまでを範囲指定し

2と同じようにH.264エンコードしますが

※くれぐれもファイル名とかぶらないように!上書きされてしまいますので

4.ソースをAviutlの60fps読み込みで読み込みテロップ部分を範囲指定し

H.264でエンコード

・・・Aviutlの開くのメニューから読み込むのですが

ファイル選択画面の下に60fps読み込みというのがあるのでそれにチェックを入れます

また60fps読み込みは編集プロジェクトから読み込んだ場合は適用されないので

CMカット後に編集プロジェクトを.aupとして保存しても60fpsで再読み込み不能

なのでソースを.d2vなどから再び読み込む必要がありますメンドイ

インターレース解除などは特に必要ないのでそのままエンコード

ここで注意

※手順2~4で作成するmp4ファイルは

フレームレートとビットレート以外の条件を全て同じにする必要があります

つまりコーデックやリサイズなどでは統一しておきます

他のノイズ系や強調系のフィルタは問題ないので適宜フィルタをかけてエンコード可

ただし音声は後々問題が起こるので音声無しで出力しましょう

5.出来上がったファイルをAviutlの追加読み込みでつなぎたい順番に開き

エクスポート→mp4eportで連結して出力

・・・2~4で出来上がったmp4を順番に気をつけて追加読み込みしましょう

で読み込みが終わったらメニューのmp4exportし出来上がったmp4ファイルは

Yambなどのmp4ツールで手順1で出力したRawAACと結合すれば完成です

いやメンドイけどこれが一番確実にテロップなどの60i混在フレームを

可変フレームレート化する手順なんですが

でここでデコードに関してなんですが

オイラはH.264のデコードをフリーのDirectshowフィルタの

ffdshowに任せてるんですが

どうもオイラの環境ではffdoshowのコアフィルタであるlibavcodecで再生すると

60fps部分で音声がずれて30fps部分になると直るという謎の現象が起こるので

ffdshowにおまけでついてくるffmpeg-mtというデコーダに変えると

問題なく再生できるようになりました

どうもffdshowのlibavcodecはバグがあるみたいで

高ビットレートや高フレームレートの再生に弱いのか

60fps部分のデコード画質も悪い気がするし

まあまた何か問題が出たらソフトを変えるか

違う方法で可変フレームにするしかないですね



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください


2010年4月
 123
45678910
11121314151617
18192021222324
252627282930  

archives

  • 2026 (1)
  • 2025 (33)
  • 2024 (28)
  • 2023 (15)
  • 2022 (19)
  • 2021 (15)
  • 2020 (16)
  • 2019 (13)
  • 2018 (21)
  • 2017 (40)
  • 2016 (118)
  • 2015 (53)
  • 2014 (31)
  • 2013 (14)
  • 2012 (59)
  • 2011 (89)
  • 2010 (65)
  • 2009 (97)
  • 2008 (22)

Avisynth aviutl BDAV BitLocker BonDriverProxyEx CentOS Collapsing Categories cppcryptfs EDCB FAW2AAC Firefox GoogleDrive HDMIキャプチャ LAST NUMBER openSUSE pCloud Raspberry Pi 2 Techism TvRock TVTest Ubuntu Windows 7 Windows 8.1 Windows 10 Windows10 WordPress WordPressテーマ XFREE Zenfone 10 アカウント凍結 グラディウス2 ゲーム攻略 セキュリティ セキュリティソフト ドライバ関連 乃木坂46 乃木坂46時間TV 卒業 坂道シリーズ 小粋空間 日記 桜井玲香 橋本奈々未 深川麻衣 選抜発表