• ベストアンサー

AviUtlでインターレース解除ができない

AviUtlでインターレースを自動24fpsで解除しようとしましたが、画像のようになり解除しきれません。 自動や自動フィールドシフトにしても、それらの設定を弄っても消えません。 インターレース解除2を使っても駄目です。 どうすればいいでしょうか。 似たような現象を知っている方、回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#147184
noname#147184
回答No.2

ANo.1です。 コーデックにインターレス解除機能が付いていると大変ややこしくなります。 今回の場合CoreAVCとの事ですが、CoreAVCでインターレス解除をして、その映像をAviutlでインターレス解除(自動24fpsはインターレスを感知するタイプのためインターレス解除フィルタと同等)しようとすると、入力前に解除されているので、おかしな事になります。 また、このあたりはまだよく分かっていないのですが、特定のコーデック例えばMicrosoftDTVとかはEVRで表示させるとインターレスを解除しますがVMR7だと解除しません。 しかし、解除させる設定が今のところ見当たりません。レジストリにでも隠れているのでしょうか。 つまり、Aviutlで開いた段階でのCoreAVCの動作がどのようになっているのか、設定画面の内容があまりあてにならないかもしれない、という事です。 これはバグであるケースも多い様で、ffdshowで設定と異なる動作をしていたのがバージョンアップで直ったこともあるので、CoreAVCも念のためバージョンを上げた方がいいかもしれません。 ちょっと試したところ、私が今使っているCoreAVC 2.5.5(3.x買ってないので…)ですが、インターレス解除をNoneにしたら、インターレスのままAviutlで読み込めました。環境によって違うかもしれないのであまりあてにならないかもしれませんが。 入力する時に使用されるコーデックを、安定したもの、私の場合はH.264でしたらffdshowか、ffmpegを使う事が多いのですが、選択する機能がAviUtlには無かったように思います。 面倒かもしれませんが、その都度ffdshowに切り替えてみて、問題が解決できないか試してください。 この時のffdshowの設定は経験的に信頼できますが、インターレス解除機能はOFFにして下さい。 他の方法としては、avisynthでカプセル化して、読み込み部分にffmpegなどを使用して、コーデックをこちらで決めてしまう方法もあります。 まぁ、この場合avisynthでプログレッシブ化と24fps化をしたらいいじゃないか、という事になりますが(汗) http://www.avisynth.info/?%A5%D3%A5%C7%A5%AA%C6%FE%CE%CF#t889a83d http://www.avisynth.info/?%a5%a4%a5%f3%a5%bf%a1%bc%a5%ec%a1%bc%a5%b9%b2%f2%bd%fc まずは、aviutlでフィルタを全てOFFにして、読み込んだ後、インターレスのままである状態にする必要があると思います。 この時、例えば30fpsプログレッシブだった、とか60fpsのソースだった、といったミスが分かることもあります。(60fpsはそもそも24fps化できませんので) ffdshowは 32Bit http://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20xxl/win32%20generic%20builds/ 64Bit http://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20clsid/64-bit%20builds/ こちらでダウンロードできます。標準で日本語対応しています。 フィルタの順番に関しては、標準のままで間違っている事は少ないのですが、順番をいじっている場合や、追加のフィルタが変なところに入っていると、例えばインターレスのまま、画像をプログレッシブとしてリサイズして(この時点でインターレスが破壊される)、その後プログレッシブ化しようとしても無理です。 もちろんインターレス対応のリサイズも可能ですが、需要が無いのであまり見たことは無いですね。 まずインターレスを解除して、それから他のフィルタを入れるのが基本的なパターンになるかと思います。

lilam001
質問者

お礼

お礼が遅くなりました。 色々試しましたが未だに解決しません。 半ば諦めています; お金に余裕が出来たら、インターレース動画の編集用にPCを購入しようか迷っているところです(苦笑) 色々考えて頂きありがとうございました。 解決はしていませんが、せめてものお礼としてベストアンサーを付けさせていただきます。

その他の回答 (1)

noname#147184
noname#147184
回答No.1

フィールドオーダーが違う様な気がします。 http://niiyan.s8.xrea.com/avisynth/avisynth_guide4_1.html これでないとすると、インターレス解除前にプログレッシブのみ対応のフィルタで何らかの処理をしているとか。 フィルタの順番、またAviutlで開く前に処理している場合はそこに問題無いかも確認してください。

lilam001
質問者

お礼

早速の回答ありがとうございます。 ボトム→トップに変えるとまるで解除されなくなるので、フィールドオーダーは合っています。 AviUtlのフィルタはかけていません。 >Aviutlで開く前に処理している場合はそこに問題無いかも確認してください。 これが一番問題だと思います。 まずAviUtlでの入力プラグインには、DirectShow File Readerを使っています。 DiretShowフィルタはCoreAVC+Haali Media Splitterを使っているのですが、CoreAVCの設定をどう弄ってもうまく解除できないのです。 質問の様な症状が出るのは、デインターレースの項目でNoneかHardwareを選択した時です。 つまり、Directshowフィルタでインターレース解除しなかった場合、ということです。 Hardwareはグラフィックボードに処理を任せるということですよね? MPC-HCなどで再生する分には、これで綺麗にインターレース解除されるのですが、AviUtlのDirectShow File Readerでは、この処理が反映されないみたいです。 そこでCoreAVC自体に処理してもらう設定、具体的には同じくデインターレースの項目でSingle Fieldか、Bobを選択してみました。 すると質問添付の画像のような消え残りはなくなりましたが、画質が悪くなり、特にテロップの文字がじらじらします。 見れないような映像にはなりませんが、綺麗とは程遠いです。 これらは全てffdshowを使ってみても同じでした。 まとめると、 ・DirectShowフィルタ側でインターレース解除すると、もれなく画質が悪くなる ・逆にフィルタに頼らずAviUtlでインターレース解除すると、質問のような現象が起きる ・ハードウェアにインターレースを解除させると、プレイヤーで見る分には綺麗に解除されるが、AviUtlのDirectShow File Readerプラグインでは、その効果が得られない ということです。 色々試して3日経ちますが、解決しないので質問させて頂いた次第です。 補足が長くなり申し訳ありませんが、もし解決できそうでしたら、再度回答よろしくお願いします。

関連するQ&A

専門家に質問してみよう