taka
2002-01-20 23:52:31 ( ID:ju1uykuf6wn )
[ 削除 / 引用して返信 ]
自分でキャプチャしたMPEGファイルを
再圧縮するのに使わせてもらっているのですが
いくつかのファイルでコマ落ちがあるため
再圧縮したファイルと音声を多重化すると
映像と音がずれてしまいます。
音声のフレーム数と映像のフレーム数がちがう場合
同じフレーム数になるように映像を増やす機能
をつけてもらえませんか?
(わかりにくくてすみません。)
Murphy
2002-01-21 12:30:31 ( ID:enngnieiyb2 )
[ 削除 / 引用して返信 ]
望むことは良く判ります。
が。
それは、「コマ落ちしないキャプチャ」をすれば済むのではないでしょうか?
キャプチャ時にコマ落ちするのは、主に以下が原因です。
・キャプチャマシンのCPU性能が低い
・キャプチャマシンのHD性能が悪い
・キャプチャカードが悪い
・キャプチャソフトが悪い
つまり、コマ落ちは、キャプチャマシン・環境を真っ当な物に作り直せば0に
成ります。
私は、コマ落ちしてるようなソースは破棄してキャプチャし直します。
ソレは「正しいソース」では無いのだから、編集・エンコードする意味がある
とは思えないので。
Y.Masuyama@出先
2002-01-21 17:46:53 ( ID:s9e/mvzzc3w )
[ 削除 / 引用して返信 ]
「音ズレをなくしたい」って目的に対して、適切な位置と量のフレーム挿入を
後からソフトで自動処理することは不可能に近いと思います。
短時間のソースで直ぐに判るほどのコマ落ちなら、Murphyさんの意見に異論は
在りませんが、数秒に一こま程度のコマ落ちが原因で徐々にズレてくるのが
判ってしまう場合は「捨てがたい」ソースも有るかも知れませんね。
で、Murphy さんの正論とは別の視点から。
> 再圧縮したファイルと音声を多重化すると
一つ改善の「余地」があるとすれば、この部分かもしれません。
1)これは「簡易分離した映像」をソースにエンコードしてるでしょうか?
2)元mpeg のまま再生した時には、音ズレしないのでしょうか?
3)音ズレの原因は、コマ落ちで間違いないですね?
全て「yes」ならキャプチャした mpegを分離しないままでソースに指定して、
映像だけエンコードしてみましょう。
古いログのうろ覚えですが、キャプチャしたmpegファイルにはコマ落ちなどの
情報を記録する場所があるんだそうです。キャプチャがこの情報を正しく!
記録していれば、デコーダが自動的に処理してくれるらしいのですが?。
→ ボクには実験できないので間違ってるカモ?、ダメ元でどうぞ
#分離した m1v、m2vには、コマ落ち情報を記録する場所がないらしい
#元mpeg から音ズレするものは、これでは変わらないハズ
Murphy
2002-01-21 18:57:30 ( ID:enngnieiyb2 )
[ 削除 / 引用して返信 ]
>短時間のソースで直ぐに判るほどのコマ落ちなら、Murphyさんの意見に異論は
>在りませんが、数秒に一こま程度のコマ落ちが原因で徐々にズレてくるのが
>判ってしまう場合は「捨てがたい」ソースも有るかも知れませんね。
ソースがコマ落ちしている、と言うのはTMPGEncで編集する以前の問題、と
認識しています。
コマ落ちソースはTMGPEncで無くても音ズレすると思いますし。
アナログキャプチャでもコマ落ち無しのデータを作るのは簡単ですし、DV
キャプならコマ落ちは在り得ません。
コマ落ちする方が、ある意味特殊な環境・設定でキャプチャしている、に
過ぎません。
それを直さず、ソフトの方に対応を希望するのは、本末転倒に思えます。
現状、コマ落ちしたソースのコマ落ち位置を教えてくれるような動画編集
ソフトは有るのでしょうか?
fay
( Home )
2002-01-21 23:53:37 ( ID:114ayb6nh.g )
[ 削除 / 引用して返信 ]
今現在のMPEG2キャプチャには、コマ落ちを完全になくせない製品もあるはずです。
例えばMTV1000とか。そういうものはキャプチャ時にどれだけ努力しても無駄なわけで。
Y.Masuyamaさんのいう分離せずに扱うというのは、TMPGEncにコマ落ち処理をさせずに
音ズレもしないようにする、今現在で最適な方法でしょうね。適切なMPEG2デコーダと
AC3デコーダ、スプリッタが設定された環境なら、MPEG2+MP2(AC3)のmpgファイルは問
題なく読み込めることを確認しています。
taka
2002-01-22 14:09:10 ( ID:ju1uykuf6wn )
[ 削除 / 引用して返信 ]
こういう処理は出来ませんか?
1000フレームのソースで10フレームがコマ落ちして
990フレームと表示されてたら
990/10=99で100フレーム目200フレーム目・・・
に前後のフレームを平均化したフレームを入れて
強引に1000フレームにする。
みたいなことできませんか?
やっぱり不自然になりますか?
Y.Masuyama@出先 さん
とりあえずコマ落ちで間違いないです。
USB経由のキャプチャですし。
Murphy
2002-01-22 14:39:22 ( ID:enngnieiyb2 )
[ 削除 / 引用して返信 ]
>こういう処理は出来ませんか?
>1000フレームのソースで10フレームがコマ落ちして
>990フレームと表示されてたら
>990/10=99で100フレーム目200フレーム目・・・
>に前後のフレームを平均化したフレームを入れて
>強引に1000フレームにする。
>みたいなことできませんか?
>やっぱり不自然になりますか?
フレーム落ちは必ずしも平均的に起きる訳ではありません。
落ちた割合と入れる量によっては、部分的には音ズレが解消されるが、
元々はズレていなかった他の大部分で音ズレが発生したと、言う事に成る
場合も多いかと思います。
1000フレームの内、500フレーム辺りでまとめて10フレーム落ちていた
場合とか(メモリスワップやHD読み書きの関係で瞬間的に書き込みが遅延
してコマ落ちする例)、900フレーム以降で10フレームおきに1フレーム
落ちていた場合とか(キャプチャの途中から他のソフトが動き出した等で
書き込みが遅延してコマ落ちする例)も有るでしょうし。
キャプチャハードの仕様によっては、画面の切り替わりの早いシーンとか
明滅の多いシーンだけに集中的にコマ落ちが発生する物もあるようです。
根本的な問題として。
コマ落ちしてるなら、キャプチャソフトの方で補間してくれても良い気が
します。
MPEGキャプチャ系のコマ落ちはハードの仕様の場合が多いですから、それを
補間するのもキャプチャソフト(=メーカー)の責任だと思いますし。
fay
( Home )
2002-01-22 18:02:01 ( ID:enngnieiyb2 )
[ 削除 / 引用して返信 ]
え〜ちょっと気になったんですが、
> 1000フレームのソースで10フレームがコマ落ちして
> 990フレームと表示されてたら
この部分。どうやったら990フレームしかないソースの元が1000フレームあると分かるので
しょうか? おそらくTMPGEncに渡ってくるフレーム数や時間に関する情報としては、
フレーム総数=990 (またはコマ落ち後の総時間かも?)
フレームレート=29.97
程度じゃないでしょうか? これらの情報から、オリジナルのフレーム数(または総時間)な
んて計算しようにも出来ないような気がします。
もし音声も同時に読み込めるとしたら、その音声のサンプル数から総時間を計算し、フレー
ムレートとあわせて必要フレーム数を導き出すことが可能でしょう(これはすでにTMPGEncに
実装されている機能だと思いますが)。
> コマ落ちしてるなら、キャプチャソフトの方で補間してくれても良い気がします。
キャプチャソフトのほうでは補完していると思いますよ。だからキャプチャしたままで再生
したら音ズレしないのでしょう。MPEGでの補完とはコマを補うものではなく、映像と音声の
同期処理で辻褄を合わせているのだと思います。この辺りもMPEGが編集に向いてないと言わ
れる由縁かも知れませんが。
ちなみにMPEGの映像/音声の同期情報はシステムストリームにあるため、一度m2vとmp2など
に分離してしまうとなくなります。よって多重化するときに調整するとか、映像だけのエン
コード時にどうにかするなどは、無理なことなのです。
Y.Masuyama@出先
2002-01-22 19:15:47 ( ID:s9e/mvzzc3w )
[ 削除 / 引用して返信 ]
最初のカキコの時点では、自分の記憶に自信が無かったので断定的な
表現は避けましたが、fayさんのフォローで正しかったらしいこと
が確認出来ましたので、それを踏まえて少々。
(1)この要望が実装される可能性はゼロに近いです
過去にmpegキャプチャの音ズレの話があって、原因がコマ落ちしたmpeg
から分離したビデオストリーム(m1v、m2v)をソースにしたことでした。
その際に堀さんからはmpegの標準機能の方を活用して欲しい旨のレスが
在ったハズです。
→ 実作業に関しては、最初のボクのカキコとfayさんの解説をご参照
(2)takaさんの環境が判りません
問題の内容によりますが、このくらいは無いと議論が長引くだけです。
・mpegキャプチャの商品名
・キャプチャソフト
・キャプチャの条件
・mpegを読み込ませるデコーダ(プレイヤorプラグイン)
・在れば、TMPGEncでエンコードする前の前処理
#環境が示されれば、同じものを使う方から違うレスが着くかも
#知れません
(3)元のmpegを再生した時に音ズレは?
この部分には答えていただいてませんよね?>takaさん
実はコマ落ちそのものは気にしてません。AVIでもmpegでもコマ落ちだけ
で音ズレになるケースはまれです。殆どはプラスαの要因がからんで
います。
#問題を切り分ける為に、元のファイルが音ズレせずに再生できるか
#どうかを確認することは重要デス
(4)ボクの最初の提案は試して頂けましたでしょうか?
試して頂いた結果、音ズレが改善されたならこのスレッドは終了です。
改善されないなら、キャプチャ or デコーダのどちらが悪いのか調べて
原因となるほうに改善要求を出すのが筋だと思います。デコーダが
原因なら違うものに換える手も在ります。
#先の説明が判らないのでしたら、どの辺が判らないか聞いて下さい
taka
2002-01-22 23:18:04 ( ID:ju1uykuf6wn )
[ 削除 / 引用して返信 ]
>(2)takaさんの環境が判りません
>問題の内容によりますが、このくらいは無いと議論が長引くだけです。
そうですよね、すみませんでした。
環境はWindows2000 CPU athlon1.2GHz M/B GA-7DXR
HDD IBMDTLA307020(先頭の方のパーティションに
録画用の空のドライブを作ってある。)
Smart Vision Pro for USBで録画(付属のソフト)
Video DVD2AVI→AVIUTL→中間ファイル→TMPGEnc2passエンコード
Audio DVD2AVI→SCMPX(wave化)→Mephisto(32000Hzを44100Hz化)
Video mux://で多重化 Audio 外部エンコーダtoolameで224kbitでエンコード
環境の改善でコマ落ちを防ぐのは無理でした。
いろいろなところを参考に試してみましたが
1/2〜3ぐらいの確率でコマ落ちファイルが出来てしまうんです。
(CPU HDDなどの性能は問題ありません。)
メディアプレイヤーでの再生は問題ないので(ひとによってはずれるらしいです。)
キャプチャソフトでの補完はしてくれています。
が付属の編集ソフトでは編集中に落ちてつかいものになりません。
音ズレを何とかしたくてお願いしましたが確かにTMPGEncの機能の範疇ではありませんね。
Murphy さんY.Masuyama@出先 さんfay さん
わざわざ答えていただいてありがとうございます。
無理そうなのであきらめます。
taka
2002-01-23 08:57:11 ( ID:ju1uykuf6wn )
[ 削除 / 引用して返信 ]
上を書いたときにはエンコード中で書けなかったんですが
>全て「yes」ならキャプチャした mpegを分離しないままでソースに指定して、
これではずれませんでした。
aviutlでフィルタは無理そうですがなんとかあきらめずにすみそうです。
Murphy
2002-01-23 15:14:47 ( ID:enngnieiyb2 )
[ 削除 / 引用して返信 ]
>上を書いたときにはエンコード中で書けなかったんですが
>>全て「yes」ならキャプチャした mpegを分離しないままでソースに指定して、
>これではずれませんでした。
>aviutlでフィルタは無理そうですがなんとかあきらめずにすみそうです。
TMPGEncで直にMPEG1を読み込んだらズレ無いのなら、そこから無編集の
ままtpr保存してAviUtlでtpr読み込み、で行けませんかね?
DirectShowとVFAPIを介することになるので、何か問題が出ることがある
かも知れませんが……。
場合によっては、TMPGEncからいったんloss-less AVIに出力する、って
手も有効かと思いますし。
taka
2002-01-24 01:10:36 ( ID:ju1uykuf6wn )
[ 削除 / 引用して返信 ]
>TMPGEncで直にMPEG1を読み込んだらズレ無いのなら、そこから無編集の
>ままtpr保存してAviUtlでtpr読み込み、で行けませんかね?
試してみましたがどうもずれている感じがします。
おそらくVFAPI経由ではそういう情報は失われてしまうのではないでしょうか。
>TMPGEncからいったんloss-less AVIに出力する
huffyuvでやってみたところ処理後ファイルを見るとサイズが4Gになっていて
(ふつうにやると26〜27G)後半4Gの部分しかまともに再生できません。
他の部分は映像は変なノイズがかった画像になっています。
(音はまともなのでhuffyuvとTMPGEncの相性が悪いのでしょうか?)
その部分で確認したところずれていませんでした。
fay
( Home )
2002-01-24 08:05:10 ( ID:114ayb6nh.g )
[ 削除 / 引用して返信 ]
4GというのはAVIファイルサイズの限界です。ロスレスで中間ファイルを出力する場合は、
出力後のAVIのサイズをおおよそで計算し、2G以下のファイルになるように分割するのが
一般的でしょう(4Gまでなら出力してもおそらく大丈夫ですが、一般的には2G以下で分割)
この制限が厳しいためにVFAPIというものが生まれたのですから。
またtprをAviUtlに渡して音ズレがするなら、AVIファイルを出力しても音ズレしている
可能性が高いと思いますが。
fay
( Home )
2002-01-24 08:06:39 ( ID:114ayb6nh.g )
[ 削除 / 引用して返信 ]
追加
中間ファイルをAVIで出力するなら、参照AVIで出力するのが分割するよりも楽でしょう。
RAVIなどを使ってみてください。
|