質問: FFmpegで出力する動画に対し、非常に細かい時間設定をしたいです。 具体的には「-t」オプションを使用し、ミリ秒での指定です。 例えば、-t 0.123 とします。 この場合は、123ミリ秒なので1000分の123秒です。 ※1000ミリ秒=1秒 しかし、実際に1000分の1秒まで細かく指定してもその通りにカットされません。 ``` ffmpeg -i input -t 0.123 output ``` 仮にMP4で出力する場合、libx264が勝手に選択されますが、上記オプションでMP4出力された動画を見てみると、120ミリ秒となっており、1000分の1秒の位は切り捨てられてました。 MP4では10ミリ秒が最小単位なのでしょうか? ちなみに、mjpegで試したところ、40ミリ秒ごとでした。 例えば上記オプションでmjpeg、AVIを選んだ場合、 出力された動画は160ミリ秒となっており、今度は切り捨てではなく勝手に繰り上がっていました。 更に、jpegファイルをMJPEGでそのままコピー出力した場合、 出力されたファイルは40ミリ秒でした。 このようにコーデックやフォーマットごとにミリ秒の最小単位があるのでしょうか? もし、千分の一秒まできっちり出力できる方法をご存知であれば教えて下さい。
回答: そもそも、動画というのは60fpsや30fpsです。 #まあ、それより高頻度のものもありますが 1/30 とか、1/60 は何ミリ(秒)になるのか計算してみればどうでしょう