• ベストアンサー

動画の音づれについて

動画をエンコードして再生した時に音づれする原因の多くは再生時のCPU不足と エンコード時のコマ落ちということですよね。 (1)エンコード時のコマ落ちが原因についてですが もともとエンコードとはフレームを間引きして圧縮してるということは 極端に言えばコマ落ちして圧縮後のファイルができるようなもの?と考え どうしてフレームを間引き(コマ落ち?)してエンコードしてるのに 音づれするのか不思議です。 必要最低限以上のフレームをなくしてるのでしょうか? それならフレームレートを上げると音づれも改善するのでしょうか? 無知なことを質問してたら申し訳ないです。 また、私はフレームの間引きとコマ落ちを混同してるのでしょうか? (2)再生時は音が合ってるのに最後に行くにつれだんだん、音づれがひどくなる パターンの音づれもコマ落ちが原因なのですか? それとも違う原因でしょうか? 教えていただけると助かります。

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

  • ベストアンサー
  • ORZTX
  • ベストアンサー率41% (213/513)
回答No.3

エンコードは必ずしもフレームを間引いているわけではありませんよ。 基本的に量子化(色、輝度情報の一部破棄)とベースとなるフレーム(キーフレーム)+変化する部分の映像を組み合わせる(動き予測)とを組み合わせているのであって、フレーム欠落させるかどうかはコーデックとその設定次第です。 WMVを例にとってみると、まず品質固定(固定量子化)ではフレームレートは基本的に一定に保たれますが、ビットレート指定の場合は映像優先か動き優先かによってフレームを欠落させるかどうかが変わってきます。アプリケーションによってはフレームレートを保つなどの設定が可能なものもありますので、この辺りはプログラム次第です。 WMPなどではフレームを欠落させて同期を保つ設定が可能なの(オプション、ビデオの詳細設定)で試してみてください。これでも同期に問題が発生するようであればmkvmergeでMKVコンテナに格納してやると(MKVコンテナをインストールする必要があります)フレーム間予測のデコードが正常に機能するのでずれは基本的になくなると思います。音声がAACであればYambでmp4に格納してやるなりtsMuxerGUIでm2tsに格納するなりしてやっても良いです。 AVIでフルサポートされていないH264とか使うのやめるべきだと思うんですけどね。普通にmp4に格納すればいいとおもうんですよ。 あと、"づれ"ではなく"ずれ"ですよ。

syutora
質問者

お礼

私の理解不足で2度の解説、感謝いたします。 こちらでも私はエンコードについて理解が不十分のようでした。 以前、エンコードがどのようにしてパソコン内部で行われてるのか ただ、処理するだけじゃなく原理が知りたくてインターネットで たくさん調べて分かったつもりでいました。 やはり、動画編集はもっと複雑な作業なんですね。 今回の回答でエンコードについての理解を高めれて嬉しく感謝しております。 「ずれ」も。 私はmkvコンテナで格納された動画を見たことが無いので これから調べてみたいと思います。 ほんとうにありがとうございました。 また、お世話になるかもしれません。

その他の回答 (2)

noname#113190
noname#113190
回答No.2

MPEG動画はコマ落ちしても「タイムスタンプ」という情報が埋め込まれているので、途中の動画ファイルが無くてもスムーズに再生できるようになっています。 ところがエンコードソフトにより、このタイムスタンプが失われると、画像と音声はフレーム単位で並んでいるだけになり、途中のファイルが無くなると整合性がとれなくなって、音ずれが起きます。 CPUの処理速度が遅いと、直前のフレームの処理が終わる前に次のフレームが来て、コマ落ちが発生しますが、この遅れは映像だけで音声はそのまま処理されることが多いので、ずれます。 タイムスタンプがあれば、映像と音声は関連つけられるのでずれても同期されますが、失われればそのままずれたままになります。 映像のコマが足りないのに音声のコマが正常ですから、最初はずれが小さいですが、どんどん加算され、映像はコマが少ないので速いのに、音声はコマが多いので遅れるという状態になります。 原因はこうですから、フレームレートを上げても改善されません。 処理速度の速いCPUとHDDを使うか、ハードウェアエンコーダーでやるかです。

syutora
質問者

お礼

回答ありがとうございます。 コマ落ちの原理について大変分かりやすい説明で 良く理解できました。 やはり私はきちんと分かってなかったようです。 助かりました。 ありがとうございました。

  • ORZTX
  • ベストアンサー率41% (213/513)
回答No.1

AVIコンテナに入れているとすれば可変フレームレートに対応していのでそれが原因だと思いますが。 mp4やmkv、wmvなどは対応しているのでこちらを使ってみてください。 AVIにこだわるのであれば120fpsに変換する方法もありますが。

syutora
質問者

お礼

早速の回答ありがとうございます。 そうです。AVIファイルです。 AVIの音声のLAMEの可変ビットレートが原因という意味でしょうか? 120fpsに設定すると改善するということなのですね。

関連するQ&A