dポイントプレゼントキャンペーン実施中!

Android端末でムービーを撮ったらどうやらVFRで記録されてしまったようなのですが、編集等の際に映像と音がずれてしまい使い物になりません。

いろいろ調べてみたのですが、最後にVFRのタイムコードを記録したり、動画をもらった人にCFR方式でもらいましょうというものばっかりで困っています。
また、この方法は試してみたのですが、正しく読み込めませんでした。
http://mamutadayo.seesaa.net/article/193112624.h …

VFRのmp4を出来るだけ画質をいじることなくCFR形式に変換できればなと思っています。(30fpsに無理やりする等)

ご回答お願いいたします。

A 回答 (1件)

質問にあるURL先のページの方法でできなければ、手動で調節するしかありません。


そしてそれは無理です。

一例を挙げればvfrとは1秒間に24フレームあるところと、1秒間に30フレームあるところが混ざっているもののことです。
(Variable Frame Rate:可変フレームレート)
これは単純な例で、とある1秒の間にもフレームレートが変化しているものもあります。
もしこれを手動でCFRに変換するとなると、以下のような作業になります。

1)DtsEditなどでmp4ファイルからタイムコードを取り出す
2)そのタイムコードを参照しながらAviUtlなどの動画編集ソフトで「1フレームずつ」調整する
3)エンコードする

2)の作業を具体的に書くと、例えば2秒で54枚のフレームがあったとします(もし30fpsなら60フレームなければいけません)。
その内最初の1秒は23.976fps、後の1秒は29.976fpsで2秒とします。
この時のタイムコードの内容は以下の通りです。

0.000000
41.708333
83.416667



917.583333
959.291667
1001.000000
1034.366667
1067.733333
1101.100000



1935.266667
1968.633333
2002.000000

縦の点3つは省略の意です。
実際は55行あります。
作業としてはこれを30fpsで揃えるとして、このコードをみて前後の数字から計算して29.976fpsにならない部分を探し出し(上の例では最初の1秒(25行目の"1001.000000")分)、それを元に動画編集ソフトで、29.976fpsになるように調整します。
本来1秒間に30フレームなければいけないところが、24フレームしかないので、4フレーム毎にその前後どちらかのフレームをコピーします。
これをひたすら動画の尺分行うのです。

もうお分かりでしょうが、1フレームずつ調整するのは現実的な方法ではありません。
数秒の動画ならまだしも、1分の動画でも1時間では終わらないでしょう。
1週間かかるかもしれません。
    • good
    • 0
この回答へのお礼

結局すべがなさそうなので、MediaPlayerで再生したものをキャプチャーすることで治そうかと思います。
VFR扱い辛い…

ご回答ありがとうございました。

お礼日時:2014/03/02 13:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!