348 名無しさん 2023/07/23(日) 18:26:35 ID:6Pso3tmA0 Bathing Girlは動画が横向きでFPSもおかしいので、今さらだがffmpegで修正してみた。1)強制フレームレート変更(時間はそのままで30fps→6fpsにして、重複フレームを省く)+90度回転 ffmpeg -i input.mp4 -r 6 -vf transpose=1 -b:v 3000k output1.mp42)通常フレームレート変更のための準備 ffmpeg -i output1.mp4 -c copy -bsf:v h264_mp4toannexb output2.h2643)通常フレームレート変更(フレーム数はそのままで6fps→15fpsにして、再生速度を速める) ffmpeg -fflags +genpts -r 15 -i output2.h264 -c copy output2.mp4できたoutput2.mp4ファイルは無音なので、元ファイルの音声を合成させればちょうど時間通りになる。ただ音声が動画の再生時間をオーバーしているものもあるので、その場合は音声を抽出して編集した上で合成させる。事前に音声が終了する時間を確認しておくのがいい。1)はffmpegによる再エンコードが発生するので画質は劣化する。できるだけ劣化させないためには、ビットレート指定を3000kから4000kぐらいに増やせばいい。当然ファイルサイズは増える。ちなみに3000kは元ファイルのビットレート。
Bathing Girlは動画が横向きでFPSもおかしいので、今さらだがffmpegで修正してみた。
1)強制フレームレート変更(時間はそのままで30fps→6fpsにして、重複フレームを省く)+90度回転
ffmpeg -i input.mp4 -r 6 -vf transpose=1 -b:v 3000k output1.mp4
2)通常フレームレート変更のための準備
ffmpeg -i output1.mp4 -c copy -bsf:v h264_mp4toannexb output2.h264
3)通常フレームレート変更(フレーム数はそのままで6fps→15fpsにして、再生速度を速める)
ffmpeg -fflags +genpts -r 15 -i output2.h264 -c copy output2.mp4
できたoutput2.mp4ファイルは無音なので、元ファイルの音声を合成させればちょうど時間通りになる。
ただ音声が動画の再生時間をオーバーしているものもあるので、その場合は音声を抽出して編集した上で合成させる。
事前に音声が終了する時間を確認しておくのがいい。
1)はffmpegによる再エンコードが発生するので画質は劣化する。
できるだけ劣化させないためには、ビットレート指定を3000kから4000kぐらいに増やせばいい。
当然ファイルサイズは増える。ちなみに3000kは元ファイルのビットレート。