コマンド諸々
- mov を mp4 に変換する
$ ffmpeg -i <input_data> <output_data>
-
- コーデックを指定しても良いと思う
$ ffmpeg -i <input_data> -vcodec mpeg2video -acodec mp2 <output_data>
- catで結合したmpegのtimestampを調整する
$ ffmpeg -i <input_data> -g 120 -dts_delta_threshold 1 -r 30000/1001 <output_data>
-dts_delta_threshold 1 がポイント
- 映像だけ抜き出す
$ ffmpeg -i <input_data> -an <output_data>
-
- -an を先にするとNGだった。オプションに順序はあるみたい
- 映像を特定の時間で切り出す
$ ffmpeg -i <input_data> -ss <start_sec> -t <play_time> <output_data>
-
: 切り出しを開始する時間。 - ミリ秒まで指定したいときは hh:mi:ss.SSS のフォーマットで指定すればOK(だった気がする)
: 切り出し開始時間から切り出す秒数。
ミリ秒まで指定したいときは
-
-
- e.g. -ss 5 -t 3 と指定したら5秒後から3秒間抜き出す
-
- 映像と音声を合成する
ffmpeg -i <input_video_data> -i <input_audio_data> <output_data>
-
- ビットレートとか適切に指定しないと劣化するかも
- 映像をリサイズする
$ ffmpeg -i <input_data> -s (width)x(height) <output_data>
-
- mp4をリサイズするとき height の値が2で割り切れないときは下のようなメッセージが出てから0byteのファイルが出力される。失敗してる。
- height not divisible by 2
- mp4をリサイズするとき height の値が2で割り切れないときは下のようなメッセージが出てから0byteのファイルが出力される。失敗してる。
- 動画の情報を出力する
$ ffmpeg -i <movie_path>
-
- こんな感じの情報が出力される
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers (ry Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2012-12-04 09:25:27 Duration: 00:01:36.82, start: 0.000000, bitrate: 1208 kb/s Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 100 kb/s Metadata: creation_time : 2012-12-04 09:25:27 handler_name : Core Media Data Handler Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 1:1 DAR 3:2], 1046 kb/s, 14.77 fps, 14.25 tbr, 600 tbn, 1200 tbc Metadata: creation_time : 2012-12-04 09:25:27 handler_name : Core Media Data Handler At least one output file must be specified
- helpを出力する
$ ffmpeg -h
- 一番詳しいhelpを出力する
$ ffmpeg -h full
参考
- http://mobilehackerz.jp/archive/wiki/index.php?%BA%C7%BF%B7FFmpeg
- すげー参考にさせてもらいました。ありがとうございました。