ffmpegでyuv形式の出力はディスク容量に注意!! | iPodで動画を倍速再生

iPodで動画を倍速再生

ffmpegとsoxで倍速変換した動画を作成しiPodで再生するための手順をメモ

 結局おいらは、Dドライブに「 D:\Free-Soft\MPG2MP4 」ってディレクトリを作ってその中に

  「ffmpeg.exe」

  「ffplay.exe」

  「pthreadGC2.dll」

  と「sox-14.0.1.zip」を解凍したものを置いて、「MPG2MP4.BAT」というバッッチファイルに、



01 echo off
02 Path D:\Free-Soft\MPG2MP4

03
04 :START
05 if "%1" == "" GOTO END

06 ffmpeg -i %1 -s 320x240 %1.yuv %1.wav
07 sox %1.wav %1_1.wav speed 1.5
08 del %1.wav
09 ffmpeg -s 320x240 -r 44.95 -i %1.yuv -vcodec h264 -i %1_1.wav -acodec aac -f psp %1_1.mp4
10 ffmpeg -i %1_1.mp4 -s 320x240 -r 29.97 %1.mp4
11 del %1_1.* %1.yuv

12  shift
13 GOTO START
14 :END

15 
16 EXIT


って記述して、そのバッチファイルのショートカットをデスクトップに置いて変換したいファイルを複数選択してショートカットアイコンにドラッグ&ドロプして変換しています。

  1. yuvとwavを切り出す (6行目)

  2. wavを倍速変換する (7行目)

  3. yuvをフレームレートを変え2と結合して倍速動画にする (9行目)

  4. 3をフレームレート29.97に再変換する (10行目)

って手順で、途中出来た一時ファイルを削除しながら繰り返すって心算で記述してます。

  

 エラー処理とか考慮していませんので、この記事を読まれてこの方法を検証される時は、自己責任でお願いしますネ。 どんなトラブルが起きてもおいらは一切関知しません


 検証される時は先ず、おいらもそうしたんですけど、DOS窓(コマンドプロンプト)で「1コマンドずつ」実行して確認してからバッチファイルを使ってネ。 そうしないとエラーが出てもどこで出たかわからないですから・・・。 エラーが出てもそれを理解するのも難しいのだけど・・・(^^;。



 そして注意しないといけないのが、「真空波動研SuperLite 」で見て、


[T.mpg]
352x480 29.97fps 4:3 5100.00kb/s
Dolby AC-3 48.00kHz 2.0ch(2/0 L+R) CM 192.00kb/s
[Extra][3]
SCR : 00:02:10.218 (130.218sec)
GOP : 01:00:01.066 (3601.066sec)
RATE : 00:01:27.789 (87.789sec)
[MPEG2] 00:02:10.218 (130.218sec) / 58,075,136Bytes

真空波動研SuperLite 080414 / DLL 080414


って、2分ぐらいの短い元動画(T.mpg)でテストしてたんですけど、これを「 ffmpeg -i t.mpg t.yuv 」でyuv切り出しをしたら、988メガバイト・・・、


 2分でほぼ1G・・・・・・。


 覚悟が必要です・・・(^^;。 なので上の6行目のように切り出す時に欲しいサイズ(320x240)を指定してやることでディスクスペースの節約(?)を図っています、こうしても450メガバイト。 ちなみにwavファイルは25メガバイトと倍速音声ファイル17メガ、3つで492メガバイトの一時ファイルが出来ます。 


 ざっくりと、2分で500メガ、1分250メガ見当でディスクの余裕を見ておかないといけません。


 っで出来たMP4ファイルは3.3メガバイト、変換時間は65秒ぐらい。 


 はっきり言って、画質はわるいです、ブロックノイズでまくりです、iPodで再生してもわかるほどですから・・・(^^;。 おいらはこれでいいですけど拘りたい方は「ffmpeg」のパラメータをいじってみるのも楽しいかもネ。


 おいらは画質よりも変換時間をもっとはやくしたいです。 再生時間の半分ぐらいの時間がかかってるので、なんとかしたいなぁ・・・。