すみません、質問です。
【現象】
●「Aviutlを使ってVP62でエンコードしたAVI」を「AVI/AVI2 File Reader」で読み込むと画面が上下反転してしまう。
●入力プラグイン優先度を変え、
「AVI File Reader(Video For Windows)」
「Direct Show File Reader」
を使って読み込んだ場合は反転せず、普通に表示されます。
【AVIファイルの真空波動研情報】
640x480 16Bit On2 VP6(VP62) 30.00fps 50f 1718.73kb/s
PCM 48.00kHz 16Bit 2ch 1536.00kb/s
[RIFF(AVI1.0)] 00:00:01.666 (1.666sec) / 685,816Bytes
Sinku.DLL 090613
【環境や補足等】
●Aviutl 0.99h4を使用
●「VP6 VFW Codec 6.2.6.0」をインストールして使っています。
●ffdshowは入れていますが、有効にしてるのはVP6Fだけです。
●GraphEdit等で見ると、DirectShowでの再生時のデコードでは、
VP6 VFWに付属している「VP6 Decompressor」が使われています。
●FLV ExtractでFLVから抜き出したVP6FなAVIファイルではありません。
●うっかり上下反転フィルタ入れてたってこともありません。
●ググったら「0.99aから上下反転してしまうようになった」という記事があったのですが、
試しに0.99や0.98dを落として試してみても、結果は同じでした。
【質問】
上記現象は「AVI/AVI2 File Reader」のバグなのでしょうか?
こちらに何か見落としている点があったり、回避策がある場合は教えていただければ幸いです。
(「AVI File Reader(VFW)」や「DS File Reader」の優先度を上げっぱなしにする以外の方向で・・・)
上下を反転させてエンコードする
VP6の仕様のせいなのに、バグなのでしょうか?とかふざけてる。
こんだけ長文書く熱意があるのに、そもそも反転するものだってのを知らなかったのか。
>>303-304 勘違いがあったらすみません。
「VP6のFLV」を作る時に、上下が反転してしまう仕様があるのは知ってます。
だからFLVを作る時は、予め上下反転したVP62動画を作った上でffmpegに渡したりするわけですよね。
で、FLV Splitterを使って再生するような場合は、上下反転した映像を正しく再生するために、
ffdshowなどで「FLV4」とか「VP6F」という、ffmpegがわざわざ用意した(?)FOURCCを使って再生する必要がある。
ただ、それはFLVを作ったり再生する時の仕様であり、VP62コーデック自体の仕様ではないと思ってたのです。
上に書いたとおり、「DirectShow File Reader」で読み込んだ時は反転せずに表示されますし、
WMPでVP62のAVIを再生しても上下は正しく再生されます。
もしかしたら、VP6 Decompressorフィルタが独自に上下反転処理をやってるのかもしれませんが、
「AVI File Reader(Video for Windows)」で読み込んだ場合も正常に表示されるので、そういうわけでもないようです。
VFW読み込みできる他のソフトで試しても、VP62動画が上下反転することはありません。
そのため、もしかしたら「AVI/AVI2 File Reader」のバグなのかなと思い、質問させてもらいました。
上下反転してしまうのはVP62コーデック自体の仕様なんでしょうか?
だとするとVFWで読み込んだ場合とAVI/AVI2 File Readerで読み込んだ場合とで差が出るのは何故なんでしょう?
確かにAVI/AVI2 File Readerで「VP6の時だけ上下反転」なんて処理を入れてるとは考えにくいので、
やっぱりコーデックの仕様なんでしょうか・・・。なんか訳わからなくなってきました。
妹にいたづらしてるところを母に見つかった、まで読んだ
アナルは拡張済みです、まで読んだ
なんか訳わからなくなってきました。
まで読んだ。
VFWの秘所をそっと撫でるとAVI2の奥から熱いVP6が、まで読んだ
アッー
カルシウム不足だな
そっか・・・。PCに牛乳かけたら解決するかなぁ・・・。
デコードの有無で反転の有効無効が違って、
VFW経由ではデコードされて読み込まれる、
「AVI/AVI2 File Reader」ではデコード無しに読み込める(が反転される)、
…とか? (テキトーでスマソ)
濃いミルクをAviUtlにぶっかけるとな
VP6とVP6Fの違いじゃないかな
VP6FはVP6のフリップ型だったような覚えが・・・
うーん。試しにAvisynthの
AVISource()
AVIFileSource()
OpenDMLSource()
を使ってVP62のAVIを読み込んでavsPでプレビューしてみたら上下反転して表示されますね。
AVIFileSource()は、強制的にVFWで読み込むはずなのに反転するのは何故だ・・・。
同じVFW読み込みでも反転するものとそうでないものがあるのは、
VFWのAPIの呼び出し方とか判定処理に何か違いがあったりするのかな???
>>315 >>305でも少し書きましたが、VP6FはVP6のFLV(映像ストリームが上下反転している)を
正しく再生するためにffmpegあたりで便宜的に作られたFOURCCなのかな〜と推測してます。
ちなみにAVIファイルをバイナリエディタで開いてVP62⇔VP6Fの書き換えを行なうと上下反転するだけで普通に再生されますね。
(ffdshowのVFW設定でVP6Fを有効にする必要はありますが。)
FってFLVのFなのかと勝手に思ってましたけど、フリップのFのほうがなんとなくしっくりきますね。
調べても資料がさっぱり見つからないので何が正しいのかさっぱりわかりませんが・・・。
素直に考えればVP62とVP6Fとで使われるデコーダが違うとすれば辻褄はあう。
ていうかgrapheditで今試したらそのとおりだった
>>317 いや、VP6Fのデコーダが違うのはわかってるんです。
「VP6 VFW Codec(と、付属するVP6 Decompressorフィルタ)」では、VP62はデコードできますが
VP6Fはデコードできないので、VP6Fの再生には別途ffdshowなどが必要。
「VP62」を「VFWで読み込む時」に、「上下反転するものとそうでないものがある」ので混乱してます。
一応確認したもの一覧。
上下反転するもの
・「AVI/AVI2 File Reader」 [Aviutl]
・「AVISource()、AVIFileSource()、OpenDMLSource()」 [Avisynth]
上下反転しないもの
・「AVI File Reader(Video For Windows)」 [Aviutl]
・「VFWInput」 [NicoVisualEffects]
・「DirectShow File Reader」 [Aviutl]
・「DirectShowSource()」 [Avisynth]