[FFmpeg] FFmpeg コマンドメモ

スポンサーリンク

環境

Ubuntu 12.04.2 (64bit) (3.5.0-24-generic)
FFmpeg

FFmpeg のインストール

参考までにこちら.
[Ubuntu 13.04] FFmpeg 2.0, FFmpeg 0.11.3, FFmpeg (Git)

FFmpeg のコマンドのメモ

1 – MPEG2-TS (H.264/AAC-LC)

任意の入力ファイルを MPEG2-TS (H.264/AAC-LC) にエンコードします.
H.264 には libx264、AAC-LC には libfaac を使用してみます.
libx264 の場合は,-threads 0 とすると最大限のマルチスレッドを回してくれるようです.
(リテールファンの場合,高負荷になり過ぎてマシンが落ちる場合もありました)
-r で 1 秒あたりのフレーム数 [fps] を指定できますが、-r を指定しないと入力ファイルの fps がそのまま引き継がれるようです.

$ ffmpeg -i test.mp4 -acodec libfaac -ab 128k -ar 44100 -ac 2 -vcodec libx264 -profile:v main -b:v 3000k -s 1280x720 -aspect 16:9 -preset:v superfast -r 29.97 -threads 0 -f mpegts out.ts

2 – MPEG2-TS (H.264/AAC-LC)

任意の入力ファイルを MPEG2-TS(H.264/AAC-LC)にエンコードします.
H.264 には libx264,AAC-LC には libfdk-aac を使用してみます.

$ ffmpeg -i test.mp4 -acodec libfdk_aac -profile:a aac_low -ab 128k -ar 44100 -ac 2 -afterburner 1 -vcodec libx264 -profile:v main -b:v 3000k -s 1280x720 -aspect 16:9 -preset:v superfast -r 29.97 -threads 0 -f mpegts out.ts

3 – MPEG2-TS (H.264/HE-AAC)

任意の入力ファイルを MPEG2-TS (H.264/HE-AAC)にエンコードします.
H.264 には libx264,HE-AAC には libfdk-aac を使用してみます.

$ ffmpeg -i test.mp4 -acodec libfdk_aac -profile:a aac_he -ab 48k -ar 44100 -ac 2 -afterburner 1 -vcodec libx264 -profile:v main -b:v 3000k -s 1280x720 -aspect 16:9 -preset:v superfast -r 29.97 -threads 0 -f mpegts out.ts

4 – MPEG2-TS (H.264/HE-AACv2)

任意の入力ファイルを MPEG2-TS (H.264/HE-AACv2)にエンコードします.
H.264 には libx264,HE-AACv2 には libfdk-aac を使用してみます.

$ ffmpeg -i test.mp4 -acodec libfdk_aac -profile:a aac_he_v2 -ab 48k -ar 44100 -ac 2 -afterburner 1 -vcodec libx264 -profile:v main -b:v 3000k -s 1280x720 -aspect 16:9 -preset:v superfast -r 29.97 -threads 0 -f mpegts out.ts

5 – MPEG2-TS (H.264/MP3)

任意の入力ファイルを MPEG2-TS(H.264/MP3)にエンコードします.
H.264 には libx264,MP3 には libmp3lame を使用してみます.

$ ffmpeg -i test.mp4 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 -vcodec libx264 -profile:v main -b:v 3000k -s 1280x720 -aspect 16:9 -preset:v superfast -r 29.97 -threads 0 -f mpegts out.ts

H.264 オプション

x264 のヘルプ (full) を表示します.

$ x264 --fullhelp

Presets を確認してみます.

Presets:

      --profile       Force the limits of an H.264 profile
                                  Overrides all settings.
                                  - baseline:
                                    --no-8x8dct --bframes 0 --no-cabac
                                    --cqm flat --weightp 0
                                    No interlaced.
                                    No lossless.
                                  - main:
                                    --no-8x8dct --cqm flat
                                    No lossless.
                                  - high:
                                    No lossless.
                                  - high10:
                                    No lossless.
                                    Support for bit depth 8-10.
                                  - high422:
                                    No lossless.
                                    Support for bit depth 8-10.
                                    Support for 4:2:0/4:2:2 chroma subsampling.
                                  - high444:
                                    Support for bit depth 8-10.
                                    Support for 4:2:0/4:2:2/4:4:4 chroma subsampling.
      --preset        Use a preset to select encoding settings 
                                  Overridden by user settings.
                                  - ultrafast:
                                    --no-8x8dct --aq-mode 0 --b-adapt 0
                                    --bframes 0 --no-cabac --no-deblock
                                    --no-mbtree --me dia --no-mixed-refs
                                    --partitions none --rc-lookahead 0 --ref 1
                                    --scenecut 0 --subme 0 --trellis 0
                                    --no-weightb --weightp 0
                                  - superfast:
                                    --no-mbtree --me dia --no-mixed-refs
                                    --partitions i8x8,i4x4 --rc-lookahead 0
                                    --ref 1 --subme 1 --trellis 0 --weightp 1
                                  - veryfast:
                                    --no-mixed-refs --rc-lookahead 10
                                    --ref 1 --subme 2 --trellis 0 --weightp 1
                                  - faster:
                                    --no-mixed-refs --rc-lookahead 20
                                    --ref 2 --subme 4 --weightp 1
                                  - fast:
                                    --rc-lookahead 30 --ref 2 --subme 6
                                    --weightp 1
                                  - medium:
                                    Default settings apply.
                                  - slow:
                                    --b-adapt 2 --direct auto --me umh
                                    --rc-lookahead 50 --ref 5 --subme 8
                                  - slower:
                                    --b-adapt 2 --direct auto --me umh
                                    --partitions all --rc-lookahead 60
                                    --ref 8 --subme 9 --trellis 2
                                  - veryslow:
                                    --b-adapt 2 --bframes 8 --direct auto
                                    --me umh --merange 24 --partitions all
                                    --ref 16 --subme 10 --trellis 2
                                    --rc-lookahead 60
                                  - placebo:
                                    --bframes 16 --b-adapt 2 --direct auto
                                    --slow-firstpass --no-fast-pskip
                                    --me tesa --merange 24 --partitions all
                                    --rc-lookahead 60 --ref 16 --subme 11
                                    --trellis 2
      --tune          Tune the settings for a particular type of source
                              or situation
                                  Overridden by user settings.
                                  Multiple tunings are separated by commas.
                                  Only one psy tuning can be used at a time.
                                  - film (psy tuning):
                                    --deblock -1:-1 --psy-rd :0.15
                                  - animation (psy tuning):
                                    --bframes {+2} --deblock 1:1
                                    --psy-rd 0.4: --aq-strength 0.6
                                    --ref {Double if >1 else 1}
                                  - grain (psy tuning):
                                    --aq-strength 0.5 --no-dct-decimate
                                    --deadzone-inter 6 --deadzone-intra 6
                                    --deblock -2:-2 --ipratio 1.1
                                    --pbratio 1.1 --psy-rd :0.25
                                    --qcomp 0.8
                                  - stillimage (psy tuning):
                                    --aq-strength 1.2 --deblock -3:-3
                                    --psy-rd 2.0:0.7
                                  - psnr (psy tuning):
                                    --aq-mode 0 --no-psy
                                  - ssim (psy tuning):
                                    --aq-mode 2 --no-psy
                                  - fastdecode:
                                    --no-cabac --no-deblock --no-weightb
                                    --weightp 0
                                  - zerolatency:
                                    --bframes 0 --force-cfr --no-mbtree
                                    --sync-lookahead 0 --sliced-threads
                                    --rc-lookahead 0
      --slow-firstpass        Don't force these faster settings with --pass 1:
                                  --no-8x8dct --me dia --partitions none
                                  --ref 1 --subme {2 if >2 else unchanged}
                                  --trellis 0 --fast-pskip

Presets –profile のところを確認してみます.
これにより,H.264 プロファイルを指定できるようです.
例えば,-profile:v baseline, -profile:v main, -profile:v high のように指定します.
モバイル機器で再生するくらいなら main でいいかなあと思います.

Presets –preset のところを確認してみます.
変換速度を設定できるようです.
(profile と preset でコンフリクトする場合はどちらが優先されるのだろう)

参考:
http://ffmpeg-users.933282.n4.nabble.com/Recommended-x-264-preset-for-live-x-264-encoding-td4338114.html
http://up-cat.net/CBR%25A4%25CE%25B8%25B8%25C1%25DB.html

FFmpeg
スポンサーリンク
コピペワールド