英語フランス語スペイン語

Ad


OnWorksファビコン

avconv - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで avconv を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド avconv です。

プログラム:

NAME


ffmpeg-ffmpegビデオコンバーター

SYNOPSIS


ffmpeg [グローバルオプション] {[入力ファイルのオプション] -私 入力ファイル} ... {[出力ファイルのオプション]
出力ファイル}..。

DESCRIPTION


ffmpeg ライブオーディオ/ビデオからも取得できる非常に高速なビデオおよびオーディオコンバータです
ソース。 また、任意のサンプルレート間で変換し、その場でビデオのサイズを変更することもできます
高品質の多相フィルターを備えています。

ffmpeg 任意の数の入力「ファイル」(通常のファイル、パイプ、
「-i」オプションで指定されたネットワークストリーム、グラブデバイスなど)、
任意の数の出力「ファイル」。プレーンな出力ファイル名で指定されます。
コマンドラインで見つかったオプションとして解釈できないものはすべて考慮されます
出力ファイル名になります。

各入力ファイルまたは出力ファイルには、原則として、さまざまなストリームをいくつでも含めることができます。
タイプ(ビデオ/オーディオ/字幕/添付ファイル/データ)。 許可されるストリームの数および/またはタイプ
コンテナ形式によって制限される場合があります。 どの入力からどのストリームを送信するかを選択する
出力は自動的に行われるか、「-map」オプションを使用して行われます(ストリームを参照)
選択の章)。

オプションで入力ファイルを参照するには、それらのインデックス(0ベース)を使用する必要があります。 例:最初の
入力ファイルは0、1番目はXNUMXなどです。同様に、ファイル内のストリームはによって参照されます。
それらのインデックス。 たとえば、「2:3」は、XNUMX番目の入力ファイルのXNUMX番目のストリームを指します。 も参照してください
ストリーム指定子の章。

原則として、オプションは次に指定されたファイルに適用されます。 したがって、順序は
重要であり、コマンドラインで同じオプションを複数回使用できます。 各
次に、オカレンスが次の入力ファイルまたは出力ファイルに適用されます。 この規則の例外
グローバルオプション(冗長レベルなど)であり、最初に指定する必要があります。

入力ファイルと出力ファイルを混在させないでください。最初にすべての入力ファイルを指定し、次にすべての出力ファイルを指定します。
また、異なるファイルに属するオプションを混在させないでください。 すべてのオプションは、
次の入力または出力ファイルであり、ファイル間でリセットされます。

・出力ファイルのビデオビットレートを64 kbit / sに設定するには:

ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

・出力ファイルのフレームレートを強制的に24 fpsにするには:

ffmpeg -i 入力.avi -r 24 出力.avi

・入力ファイルのフレームレート(raw形式でのみ有効)を1fpsに強制します。
24fpsまでの出力ファイルのフレームレート:

ffmpeg -r 1 -i 入力.m2v -r 24 出力.avi

生の入力ファイルには、フォーマットオプションが必要になる場合があります。

詳細 DESCRIPTION


のトランスコーディングプロセス ffmpeg 各出力について、次のように記述できます。
図:

_____________
| | | |
| 入力| demuxer | エンコードされたデータ| デコーダ
| ファイル| ---------> | パケット| ----- +
| _______ | | ______________ | |
v
_________
| |
| デコード|
| フレーム|
| _________ |
_________ |
| | | | |
| 出力| <-------- | エンコードされたデータ| <---- +
| ファイル| ミュクサー| パケット| エンコーダー
| ________ | | ______________ |

ffmpeg libavformatライブラリ(デマルチプレクサを含む)を呼び出して、入力ファイルを読み取り、取得します
それらからのエンコードされたデータを含むパケット。 複数の入力ファイルがある場合、 ffmpeg
アクティブな入力ストリームの最低タイムスタンプを追跡することにより、それらの同期を維持しようとします。

次に、エンコードされたパケットはデコーダーに渡されます(ストリームコピーが選択されている場合を除く)
ストリーム、説明についてはさらに参照してください)。 デコーダーは非圧縮フレームを生成します(生
ビデオ/ PCMオーディオ/ ...)フィルタリングによってさらに処理できます(次のセクションを参照)。 後
フィルタリングでは、フレームはエンコーダーに渡され、エンコーダーはそれらをエンコードし、エンコードされた出力を出力します
パケット。 最後に、それらはマルチプレクサに渡され、マルチプレクサはエンコードされたパケットを
出力ファイル。

フィルタリング
エンコードする前に、 ffmpeg からのフィルターを使用して生のオーディオおよびビデオフレームを処理できます
libavfilterライブラリ。 いくつかの連鎖フィルターがフィルターグラフを形成します。 ffmpeg 区別する
単純なものと複雑なもののXNUMX種類のフィルターグラフの間。

簡単な拡張で フィルターグラフ

単純なフィルターグラフは、入力と出力がXNUMXつだけで、両方が同じフィルターグラフです。
タイプ。 上の図では、追加のステップを挿入するだけでそれらを表すことができます
デコードとエンコードの間:

__________ ______________
| | | |
| デコード| | エンコードされたデータ|
| フレーム| \ _ | パケット|
| _________ | \ / || ______________ |
\ __________ /
シンプル_ \ || | /エンコーダ
フィルタグラフ| フィルタリング| /
| フレーム|
| __________ |

単純なフィルターグラフは、ストリームごとに構成されます -フィルター オプション( -vf & -af
それぞれビデオとオーディオのエイリアス)。 ビデオの単純なフィルターグラフで検索できます
このような例:

________ ______________ ________ ________
| | | | | | | | | | | | | | | |
| 入力| ---> | インターレース解除| ---> | スケール| ---> | 出力|
| _______ | | _____________ | | _______ | | ________ |

一部のフィルターはフレームのプロパティを変更しますが、フレームの内容は変更しないことに注意してください。 例:「fps」
上記の例のフィルターはフレーム数を変更しますが、フレームには触れません
コンテンツ。 もうXNUMXつの例は、「setpts」フィルターです。これは、タイムスタンプなどを設定するだけです。
フレームを変更せずに渡します。

複雑な フィルターグラフ

複雑なフィルターグラフは、単なる線形処理として説明できないものです。
XNUMXつのストリームに適用されるチェーン。 これは、たとえば、グラフに
XNUMXつの入力および/または出力、または出力ストリームタイプが入力と異なる場合。 彼らはすることができます
次の図で表されます。

_________
| |
| 入力0 | \ __________
| _________ | \ | |
\ _________ / | 出力0 |
\ | | / | __________ |
_________ \ | コンプレックス| /
| | | | /
| 入力1 | ----> | フィルタ| \
| _________ | | | \ __________
/ | グラフ| \ | |
/ | | \ | 出力1 |
_________ / | _________ | | __________ |
| | | | /
| 入力2 | /
| _________ |

複雑なフィルターグラフは、 -filter_complex オプション。 これに注意してください
複雑なフィルターグラフは、その性質上、明確にすることができないため、オプションはグローバルです。
単一のストリームまたはファイルに関連付けられています。

  -ラフフィ オプションはと同等です -filter_complex.

複雑なフィルターグラフの簡単な例は、XNUMXつのビデオを持つ「オーバーレイ」フィルターです。
入力とXNUMXつのビデオ出力。XNUMXつのビデオが他のビデオの上にオーバーレイされます。 そのオーディオ
対応するのは「amix」フィルターです。

Stream copy
ストリームコピーは、「コピー」パラメータをに提供することによって選択されるモードです。 -コーデック オプション。 それ
MAKES ffmpeg 指定されたストリームのデコードとエンコードの手順を省略します。
多重化と多重化。 コンテナフォーマットの変更や変更に便利です
コンテナレベルのメタデータ。 この場合、上の図はこれを単純化したものです。

________ ______________ ________
| | | | | | | | | | | |
| 入力| demuxer | エンコードされたデータ| ミュクサー| 出力|
| ファイル| ---------> | パケット| -------> | ファイル|
| _______ | | ______________ | | ________ |

デコードやエンコードがないため、非常に高速で品質の低下はありません。
ただし、多くの要因により動作しない場合があります。 フィルタの適用は
フィルタは非圧縮データで機能するため、明らかに不可能です。

STREAM SELECTION


デフォルトでは、 ffmpeg 存在する各タイプ(ビデオ、オーディオ、字幕)のストリームがXNUMXつだけ含まれます
入力ファイルに追加し、各出力ファイルに追加します。 それはそれぞれのベースの「最高」を選びます
次の基準に基づいて:ビデオの場合、それは最高の解像度のストリームです。
オーディオ、それは最も多くのチャンネルを持つストリームです、字幕の場合、それは最初の字幕です
ストリーム。 同じタイプの複数のストリームが等しくレートする場合、
最も低いインデックスが選択されます。

「-vn / -an / -sn」オプションを使用して、これらのデフォルトの一部を無効にすることができます。 完全なマニュアルについて
制御するには、「-map」オプションを使用します。これにより、今説明したデフォルトが無効になります。

OPTIONS


特に指定がない限り、すべての数値オプションは、
入力としての番号。その後にSI単位の接頭辞のXNUMXつを続けることができます。例: 'K'、
「M」または「G」。

'i'がSI単位の接頭辞に追加されている場合、完全な接頭辞は次のように解釈されます。
の累乗ではなく1024の累乗に基づくXNUMX進倍数の単位接頭辞
1000. SI単位接頭辞に「B」を追加すると、値が8倍になります。これにより、次を使用できます。
例:番号の接尾辞として「KB」、「MiB」、「G」、「B」。

引数を取らないオプションはブールオプションであり、対応する値を設定します
本当に。 オプション名の前に「no」を付けることで、falseに設定できます。 例えば
「-nofoo」を使用すると、「foo」という名前のブールオプションがfalseに設定されます。

Stream 指定子
ビットレートやコーデックなど、一部のオプションはストリームごとに適用されます。 ストリーム指定子は、
特定のオプションが属するストリームを正確に指定します。

ストリーム指定子は、通常、オプション名に追加され、オプション名から分離された文字列です。
コロンで。 たとえば、「-codec:a:1 ac3」には、「a:1」ストリーム指定子が含まれています。これは、
3番目のオーディオストリーム。 したがって、XNUMX番目のオーディオストリームにacXNUMXコーデックを選択します。

ストリーム指定子は複数のストリームに一致する可能性があるため、オプションはすべてに適用されます
彼ら。 たとえば、「-b:a128k」のストリーム指定子はすべてのオーディオストリームに一致します。

空のストリーム指定子はすべてのストリームに一致します。 たとえば、「-codeccopy」または「-codec:
copy」は、再エンコードせずにすべてのストリームをコピーします。

ストリーム指定子の可能な形式は次のとおりです。

ストリームインデックス
ストリームをこのインデックスと一致させます。 たとえば、「-threads:1 4」は、のスレッド数を設定します
4へのXNUMX番目のストリーム。

ストリームタイプ[:ストリームインデックス]
ストリームタイプ は次のいずれかです:ビデオの場合は「v」または「V」、オーディオの場合は「a」、の場合は「s」
サブタイトル、データの場合は「d」、添付ファイルの場合は「t」。 「v」はすべてのビデオストリームに一致し、「V」は
添付された写真、ビデオサムネイル、またはカバーではないビデオストリームにのみ一致します
芸術。 もしも ストリームインデックス が与えられると、ストリーム番号と一致します ストリームインデックス これの
タイプ。 それ以外の場合は、このタイプのすべてのストリームに一致します。

p:プログラムID[:ストリームインデックス]
If ストリームインデックス が与えられると、ストリームと番号が一致します ストリームインデックス セクションに
IDのプログラム プログラムID。 それ以外の場合は、プログラム内のすべてのストリームに一致します。

#ストリームID or i:ストリームID
ストリームID(MPEG-TSコンテナのPIDなど)でストリームを照合します。

m:キー[:]
ストリームをメタデータタグと照合します キー 指定された値を持つ。 もしも ではありません
与えられた、与えられたタグを含むストリームを任意の値と一致させます。

u ストリームを使用可能な構成と一致させます。コーデックを定義する必要があり、必須です
ビデオのサイズやオーディオのサンプルレートなどの情報が存在する必要があります。

に注意してください ffmpeg、メタデータによる照合は、入力ファイルに対してのみ適切に機能します。

ジェネリック オプション
これらのオプションは、ff *ツール間で共有されます。

-L ライセンスを表示します。

-NS、 -?、 -ヘルプ、 - 助けて [argは]
ヘルプを表示します。 特定の項目に関するヘルプを印刷するために、オプションのパラメーターを指定できます。
引数が指定されていない場合、基本的な(高度ではない)ツールオプションのみが表示されます。

の可能な値 argは には次の値があります:

長い
基本的なツールオプションに加えて、高度なツールオプションを印刷します。

フル
エンコーダの共有オプションとプライベートオプションを含む、オプションの完全なリストを印刷します。
デコーダー、デマルチプレクサー、マルチプレクサー、フィルターなど。

デコーダー=デコーダー名
名前の付いたデコーダーに関する詳細情報を出力します デコーダー名。 使用 -デコーダー
すべてのデコーダーのリストを取得するオプション。

エンコーダ=エンコーダー名
名前の付いたエンコーダに関する詳細情報を出力します エンコーダー名。 使用 -エンコーダー
すべてのエンコーダーのリストを取得するオプション。

demuxer =デマルチプレクサー名
名前の付いたデマルチプレクサに関する詳細情報を出力します デマルチプレクサー名。 使用 -フォーマット
すべてのデマルチプレクサとマルチプレクサのリストを取得するオプション。

マルチプレクサ=マルチプレクサ名
名前の付いたマルチプレクサに関する詳細情報を印刷します マルチプレクサ名。 使用 -フォーマット
すべてのマルチプレクサとデマルチプレクサのリストを取得するオプション。

filter =フィルター名
フィルタ名に関する詳細情報を出力します フィルター名。 使用 -フィルター
すべてのフィルターのリストを取得するオプション。

-バージョン
バージョンを表示します。

-フォーマット
使用可能な形式(デバイスを含む)を表示します。

デバイス
利用可能なデバイスを表示します。

-コーデック
libavcodecに認識されているすべてのコーデックを表示します。

「コーデック」という用語は、このドキュメント全体で次のショートカットとして使用されていることに注意してください。
より正確にはメディアビットストリーム形式と呼ばれるもの。

-デコーダー
利用可能なデコーダーを表示します。

-エンコーダー
使用可能なすべてのエンコーダーを表示します。

-bsfs
使用可能なビットストリームフィルターを表示します。

-プロトコル
利用可能なプロトコルを表示します。

-フィルター
使用可能なlibavfilterフィルターを表示します。

-pix_fmts
利用可能なピクセルフォーマットを表示します。

-sample_fmts
利用可能なサンプル形式を表示します。

-レイアウト
チャネル名と標準チャネルレイアウトを表示します。

-色
認識された色の名前を表示します。

-ソース デバイス[,オプション1=val1[,オプション2=val2] ...]
入力デバイスの自動検出されたソースを表示します。 一部のデバイスはシステムを提供する場合があります-
自動検出できない依存ソース名。 返されるリストは
常に完全であると想定されます。

ffmpeg -sources pulse、server = 192.168.0.4

-シンク デバイス[,オプション1=val1[,オプション2=val2] ...]
出力デバイスの自動検出されたシンクを表示します。 一部のデバイスはシステムを提供する場合があります-
自動検出できない依存シンク名。 返されたリストは想定できません
常に完全であること。

ffmpeg -sinks pulse、server = 192.168.0.4

-ログレベル [繰り返し+]loglevel | -v [繰り返し+]loglevel
ライブラリが使用するログレベルを設定します。 「repeat +」を追加すると、繰り返されることを示します
ログ出力を最初の行に圧縮してはならず、「最後のメッセージが繰り返されますn
「回」の行は省略されます。「リピート」は単独でも使用できます。「リピート」を使用する場合
単独で、事前のログレベルが設定されていない場合は、デフォルトのログレベルが使用されます。 複数の場合
ログレベルパラメータが指定されています。「repeat」を使用してもログレベルは変更されません。 loglevel
次のいずれかの値を含む文字列または数値です。

静か、 -8
何も表示しません。 静かに。

パニック、 0
プロセスのクラッシュにつながる可能性のある致命的なエラーのみを表示し、
失敗。 現在、これは何にも使用されていません。

致命的、 8
致命的なエラーのみを表示します。 これらはエラーであり、その後プロセスは絶対にできません
その後続行します。

エラー、 16
回復可能なエラーを含むすべてのエラーを表示します。

警告、 24
すべての警告とエラーを表示します。 おそらく正しくない、または
予期しないイベントが表示されます。

情報、 32
処理中に有益なメッセージを表示します。 これは警告と
エラー。 これがデフォルト値です。

詳細、 40
より冗長であることを除いて、「info」と同じです。

デバッグ、 48
デバッグ情報を含むすべてを表示します。

痕跡、 56

デフォルトでは、プログラムはstderrにログを記録します。端末でカラーリングがサポートされている場合は、
色は、エラーと警告をマークするために使用されます。 ログの色付けは、
環境変数 AV_LOG_FORCE_NOCOLOR or NO_COLOR、または強制的に設定することができます
環境変数 AV_LOG_FORCE_COLOR。 環境変数の使用 NO_COLOR
は非推奨であり、次のFFmpegバージョンで削除されます。

-報告する
完全なコマンドラインとコンソール出力をという名前のファイルにダンプします
"プログラム-YYYYMMDD-HHMMSS.log」 現在のディレクトリにあります。 このファイルは次の場合に役立ちます
バグレポート。 また、「-loglevelverbose」も意味します。

環境変数の設定 FFレポート どの値でも同じ効果があります。 の場合
値は「:」で区切られたkey = valueシーケンスであり、これらのオプションはレポートに影響します。
オプション値に特殊文字またはオプションが含まれている場合は、エスケープする必要があります
区切り文字 ':'(ffmpeg-utilsマニュアルの「引用とエスケープ」セクションを参照してください)。

次のオプションが認識されます。

file
レポートに使用するファイル名を設定します。 %pはの名前に展開されます
プログラム、%tはタイムスタンプに展開され、 "%%"はプレーンな "%"に展開されます

レベル
数値を使用してログの詳細レベルを設定します(「-loglevel」を参照)。

たとえば、次の名前のファイルにレポートを出力するには ffreport.log 32のログレベルを使用
(ログレベル「情報」のエイリアス):

FFREPORT = file = ffreport.log:level = 32 ffmpeg-i入出力

環境変数の解析でのエラーは致命的ではなく、に表示されません
レポート。

-バナーの非表示
印刷バナーを抑制します。

すべてのFFmpegツールは通常、著作権表示、ビルドオプション、ライブラリを表示します
バージョン。 このオプションは、この情報の印刷を抑制するために使用できます。

-cpuflags フラグ (全体的な)
CPUフラグの設定とクリアを許可します。 このオプションはテストを目的としています。 使用禁止
あなたが何をしているのかわからない限り、それは。

ffmpeg -cpuflags -sse + mmx..。
ffmpeg -cpuflags mmx..。
ffmpeg -cpuflags 0..。

このオプションで可能なフラグは次のとおりです。

x86
MMX
mmxext
SSE
sse2
sse2遅い
sse3
sse3遅い
ssse3
原子
sse4.1
sse4.2
avx
avx2
xop
fma3
fma4
3dナウ
3dnownext
bmi1
bmi2
cmov
ARM
アームv5te
armv6
armv6t2
vfp
vfpv3
ネオン
設定終了
AAArch64
armv8
vfp
ネオン
PowerPC
アルティベック
特定の プロセッサ
ペンティアム2
ペンティアム3
ペンティアム4
k6
k62
アスロン
アスロンXP
k8
-opencl_bench
このオプションは、利用可能なすべてのOpenCLデバイスのベンチマークを行い、結果を印刷するために使用されます。
このオプションは、FFmpegが「--enable-opencl」でコンパイルされている場合にのみ使用できます。

FFmpegが「--enable-opencl」で構成されている場合、グローバルOpenCLのオプション
コンテキストはを介して設定されます -opencl_options。 ffmpeg-の「OpenCLオプション」セクションを参照してください。
サポートされているオプションの完全なリストについては、utilsマニュアルを参照してください。 とりわけ、これらのオプション
OpenCLコードを実行するために特定のプラットフォームとデバイスを選択する機能が含まれています
オン。 デフォルトでは、FFmpegは最初のプラットフォームの最初のデバイスで実行されます。 ながら
グローバルOpenCLコンテキストのオプションは、ユーザーが
選択したOpenCLデバイス、ほとんどのユーザーはおそらく最速を選択したいと思うでしょう
彼らのシステムのためのOpenCLデバイス。

このオプションは、特定することにより、最も効率的な構成の選択を支援します
ユーザーのシステムに適したデバイス。 組み込みのベンチマークは、すべての
OpenCLデバイスとパフォーマンスは各デバイスで測定されます。 のデバイス
結果リストは、リストされている最速のデバイスでのパフォーマンスに基づいてソートされます
初め。 その後、ユーザーは呼び出すことができます ffmpeg 最も考えられるデバイスを使用する
適切な経由 -opencl_options OpenCLの最高のパフォーマンスを得るために
加速されたコード。

最速のOpenCLデバイスを使用する一般的な使用法には、次の手順が含まれます。

次のコマンドを実行します。

ffmpeg -opencl_bench

プラットフォームIDを書き留めます(ピドックス)およびデバイスID(ディドックス)最初のすなわち最速のデバイスの
リストにあります。 次のコマンドを使用して、プラットフォームとデバイスを選択します。

ffmpeg -opencl_options platform_idx = :device_idx = ..。

-opencl_options オプション (全体的な)
OpenCL環境オプションを設定します。 このオプションは、FFmpegが使用されている場合にのみ使用できます
「--enable-opencl」でコンパイルされます。

オプション のリストである必要があります キー= ':'で区切られたオプションペア。 「OpenCLを参照してください
サポートされているオプションのリストについては、ffmpeg-utilsマニュアルの「オプション」セクションを参照してください。

AVオプション
これらのオプションは、libavformat、libavdevice、およびlibavcodecによって直接提供されます。
ライブラリ。 使用可能なAVOptionのリストを表示するには、 -助けて オプション。 彼らです
XNUMXつのカテゴリに分けられます:

ジェネリック
これらのオプションは、任意のコンテナ、コーデック、またはデバイスに設定できます。 一般的なオプションは
コンテナ/デバイスのAVFormatContextオプションおよびAVCodecContextの下にリストされています
コーデックのオプション。

プライベート
これらのオプションは、特定のコンテナ、デバイス、またはコーデックに固有です。 プライベートオプション
対応するコンテナ/デバイス/コーデックの下に一覧表示されます。

たとえば、デフォルトのID3v2.3の代わりにID3v2.4ヘッダーをMP3ファイルに書き込むには、次を使用します。
  id3v2_バージョン MP3マルチプレクサのプライベートオプション:

ffmpeg -i 入力.flac -id3v2_version 3 出力.mp3

すべてのコーデックAVOptionsはストリームごとであるため、ストリーム指定子をにアタッチする必要があります
それら。

注: -オプションなし ブールAVOptionsには構文を使用できません。 -オプション 0/-オプション 1.

注:v / a / sを先頭に追加してストリームごとのAVOptionsを指定する古い文書化されていない方法
オプション名は廃止され、まもなく削除されます。

メイン オプション
-f FMT (入出力)
入力または出力ファイル形式を強制します。 フォーマットは通常、入力用に自動検出されます
ファイルと出力ファイルのファイル拡張子から推測されるため、このオプションは
ほとんどの場合必要です。

-i ファイル名 ( )
入力ファイル名

-y (全体的な)
確認せずに出力ファイルを上書きします。

-n (全体的な)
出力ファイルを上書きせず、指定した出力ファイルがすでにある場合はすぐに終了します
存在しています。

-c [:ストリーム指定子] コー​​デック (入力/出力、ストリームごと)
-コーデック[:ストリーム指定子] コー​​デック (入力/出力、ストリームごと)
エンコーダー(出力ファイルの前に使用する場合)またはデコーダー(出力ファイルの前に使用する場合)を選択します
XNUMXつ以上のストリームの入力ファイル)。 コー​​デック デコーダー/エンコーダーまたはの名前です
特別な値 "copy"(出力のみ)は、ストリームが再作成されないことを示します。
エンコードされます。

例えば、

ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT

すべてのビデオストリームをlibx264でエンコードし、すべてのオーディオストリームをコピーします。

ストリームごとに、最後に一致する「c」オプションが適用されるため、

ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT

libx264でエンコードされるXNUMX番目のビデオを除くすべてのストリームをコピーします。
そして、libvorbisでエンコードされる138番目のオーディオ。

-t デュレーション (入出力)
(「-i」の前の)入力オプションとして使用する場合は、 デュレーション から読み取られたデータの
入力ファイル。

(出力ファイル名の前に)出力オプションとして使用する場合は、出力の書き込みを停止します
その期間が達した後 デュレーション.

デュレーション 期間の指定である必要があります。を参照してください。   Time デュレーション in  
ffmpeg-utils(1) マニュアル.

-toと-tは相互に排他的であり、-tが優先されます。

〜へ 位置 (出力)
で出力の書き込みを停止します 位置. 位置 期間の指定である必要があります。
  Time デュレーション in   ffmpeg-utils(1) マニュアル.

-toと-tは相互に排他的であり、-tが優先されます。

-fs 制限サイズ (出力)
ファイルサイズの制限をバイト単位で設定します。

-NS 位置 (入出力)
(「-i」の前の)入力オプションとして使用される場合、この入力ファイルで次のようにシークします。 位置。 注意
ほとんどのフォーマットでは正確に検索することはできないので、 ffmpeg を求めます
前の最も近いシークポイント 位置。 トランスコーディングおよび -accurate_seek 有効になっています
(デフォルト)、シークポイントとの間のこの余分なセグメント 位置 デコードされます
と破棄されます。 ストリームコピーを行うとき、または -noaccurate_seek 使用されます、それはなります
保存。

(出力ファイル名の前に)出力オプションとして使用すると、入力をデコードしますが破棄します
タイムスタンプが到達するまで 位置.

位置 期間の指定である必要があります。を参照してください。   Time デュレーション in  
ffmpeg-utils(1) マニュアル.

-sseof 位置 (入出力)
「-ss」オプションと同様ですが、「ファイルの終わり」に関連しています。 つまり、負の値は
ファイルの前半では、0はEOFにあります。

-そのオフセット オフセット ( )
入力時間オフセットを設定します。

オフセット 期間の指定である必要があります。を参照してください。   Time デュレーション in  
ffmpeg-utils(1) マニュアル.

オフセットは、入力ファイルのタイムスタンプに追加されます。 正のオフセットを指定する
対応するストリームがで指定された期間だけ遅延することを意味します
オフセット.

-タイムスタンプ date (出力)
コンテナに記録タイムスタンプを設定します。

date 日付指定である必要があります。を参照してください。   日付 in   ffmpeg-utils(1) マニュアル.

-metadata [:metadata_specifier] キー= (出力、メタデータごと)
メタデータのキーと値のペアを設定します。

オプション Metadata_specifier ストリームまたはチャプターにメタデータを設定するために指定される場合があります。
詳細については、「-map_metadata」のドキュメントを参照してください。

このオプションは、「-map_metadata」で設定されたメタデータを上書きします。 削除することも可能です
空の値を使用したメタデータ。

たとえば、出力ファイルにタイトルを設定するには、次のようにします。

ffmpeg -i in.avi -metadata title = "my title" out.flv

最初のオーディオストリームの言語を設定するには:

ffmpeg -i INPUT -metadata:s:a:0 language = eng OUTPUT

-目標 type (出力)
ターゲットファイルタイプ( "vcd"、 "svcd"、 "dvd"、 "dv"、 "dv50")を指定します。 type 接頭辞が付いている場合があります
対応する規格を使用するには、「pal-」、「ntsc-」、または「film-」を使用します。 すべてのフォーマット
オプション(ビットレート、コーデック、バッファサイズ)が自動的に設定されます。 次のように入力できます。

ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

それでも、追加のオプションが指定されていないことがわかっている限り、追加のオプションを指定できます。
次のように、標準と競合します。

ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg

-dframes (出力)
出力するデータフレーム数を設定します。 これは「-frames:d」のエイリアスです。

-フレーム[:ストリーム指定子] フレームカウント (出力、ストリームごと)
後にストリームへの書き込みを停止します フレームカウント フレーム。

-q [:ストリーム指定子] q (出力、ストリームごと)
-qscale [:ストリーム指定子] q (出力、ストリームごと)
固定品質スケール(VBR)を使用します。 の意味 q/qスケール コーデックに依存します。 もしも qスケール
なしで使用されます ストリーム指定子 それからそれはビデオストリームにのみ適用されます、これは
以前の動作との互換性を維持し、同じコーデックを指定する
オーディオとビデオである2つの異なるコーデックの特定の値は、通常、
stream_specifierが使用されていない場合を対象としています。

-フィルター[:ストリーム指定子] フィルタグラフ (出力、ストリームごと)
で指定されたフィルターグラフを作成します フィルタグラフ ストリームをフィルタリングするために使用します。

フィルタグラフ ストリームに適用するフィルターグラフの説明であり、
同じタイプのストリームの単一の入力と単一の出力。 フィルタグラフでは、
入力はラベル「in」に関連付けられ、出力はラベル「out」に関連付けられます。 を参照してください
filtergraph構文の詳細については、ffmpeg-filtersのマニュアルを参照してください。

ジョブの設定方法については、 -filter_complex オプション 複数の入力を持つフィルターグラフを作成する場合
および/または出力。

-filter_script [:ストリーム指定子] ファイル名 (出力、ストリームごと)
このオプションはに似ています -フィルター、唯一の違いは、その引数が
フィルタグラフの説明を読み取るファイルの名前。

-pre [:ストリーム指定子] プリセット名 (出力、ストリームごと)
一致するストリームのプリセットを指定します。

-統計 (全体的な)
エンコーディングの進捗状況/統計を印刷します。 明示的に無効にするには、デフォルトでオンになっています。
「-nostats」を指定する必要があります。

-進捗 URL (全体的な)
プログラムに適した進捗情報をに送信する URL.

進捗情報は、ほぼ毎秒、最後に書き込まれます
エンコーディングプロセス。 それから作られます "キー="行。 キー 英数字のみで構成されています
文字。 一連の進捗情報の最後のキーは常に「進捗」です。

-標準入力
標準入力での相互作用を有効にします。 標準入力が次のように使用されない限り、デフォルトでオンになります
入力。 対話を明示的に無効にするには、「-nostdin」を指定する必要があります。

標準入力での対話を無効にすると、たとえば、ffmpegが
バックグラウンドプロセスグループ。 「ffmpeg ...」でもほぼ同じ結果が得られます。
/ dev / null "ですが、シェルが必要です。

-debug_ts (全体的な)
タイムスタンプ情報を出力します。 デフォルトではオフになっています。 このオプションは主に次の場合に役立ちます
テストとデバッグの目的で、出力形式がXNUMXつのバージョンから
もうXNUMXつなので、ポータブルスクリプトでは使用しないでください。

オプション「-fdebugts」も参照してください。

-添付 ファイル名 (出力)
出力ファイルに添付ファイルを追加します。 これはMatroskaのようないくつかのフォーマットでサポートされています
たとえば、字幕のレンダリングに使用されるフォント。 添付ファイルは特定のものとして実装されます
ストリームのタイプであるため、このオプションはファイルに新しいストリームを追加します。 その後、それが可能です
通常の方法でこのストリームのストリームごとのオプションを使用します。 作成された添付ファイルストリーム
このオプションを使用すると、他のすべてのストリーム(つまり、
「-map」または自動マッピング)。

Matroskaの場合、mimetypeメタデータタグも設定する必要があることに注意してください。

ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype = application / x-truetype-font out.mkv

(添付ファイルストリームが出力ファイルのXNUMX番目になると仮定します)。

-dump_attachment [:ストリーム指定子] ファイル名 (入力、ストリームごと)
一致する添付ファイルストリームをという名前のファイルに抽出します ファイル名。 場合 ファイル名 is
空の場合、「filename」メタデータタグの値が使用されます。

たとえば、「out.ttf」という名前のファイルへの最初の添付ファイルを抽出するには:

ffmpeg -dump_attachment:t:0 out.ttf -i INPUT

「filename」タグによって決定されたファイルへのすべての添付ファイルを抽出するには:

ffmpeg -dump_attachment:t "" -i INPUT

テクニカルノート-添付ファイルはコーデックエクストラデータとして実装されているため、このオプションは次のことができます
実際には、添付ファイルだけでなく、任意のストリームからエクストラデータを抽出するために使用されます。

-自動回転なし
ファイルメタデータに基づいてビデオを自動的に回転させることを無効にします。

ビデオ オプション
-vframes (出力)
出力するビデオフレーム数を設定します。 これは「-frames:v」のエイリアスです。

-r [:ストリーム指定子] FPS (入力/出力、ストリームごと)
フレームレート(Hz値、分数、または省略形)を設定します。

入力オプションとして、ファイルに保存されているタイムスタンプを無視し、代わりに生成します
一定のフレームレートを想定したタイムスタンプ FPS。 これはと同じではありません -フレームレート
image2やv4l2などの一部の入力形式に使用されるオプション(以前は同じでした
FFmpegの古いバージョン)。 疑わしい場合は使用してください -フレームレート 入力オプションの代わりに -r.

出力オプションとして、入力フレームを複製またはドロップして、一定の出力フレームを実現します
FPS.

-s [:ストリーム指定子] サイズ (入力/出力、ストリームごと)
フレームサイズを設定します。

入力オプションとして、これは ビデオサイズ プライベートオプション、認識
フレームサイズがファイルに保存されていないか、
構成可能-たとえば、生のビデオまたはビデオグラバー。

出力オプションとして、これは「スケール」ビデオフィルターをに挿入します end
対応するフィルターグラフ。 「スケール」フィルターを直接使用して、
始まりか他の場所。

フォーマットは wxh (デフォルト-ソースと同じ)。

-側面[:ストリーム指定子] 側面 (出力、ストリームごと)
で指定されたビデオディスプレイのアスペクト比を設定します 側面.

側面 浮動小数点数の文字列、または次の形式の文字列にすることができます NUM:ここで、
NUM & アスペクト比の分子と分母です。 たとえば、「4:3」、
「16:9」、「1.3333」、および「1.7777」は有効な引数値です。

一緒に使用する場合 -vコーデック copy、に保存されているアスペクト比に影響します
コンテナレベル。ただし、エンコードされたフレームに保存されているアスペクト比(存在する場合)は含まれません。

-vn (出力)
ビデオ録画を無効にします。

-vコーデック コー​​デック (出力)
ビデオコーデックを設定します。 これは「-codec:v」のエイリアスです。

-パス[:ストリーム指定子] n (出力、ストリームごと)
パス番号(1または2)を選択します。 XNUMXパスビデオエンコーディングを行うために使用されます。 The
ビデオの統計は、最初のパスでログファイルに記録されます(
オプション-passlogfile)、およびXNUMX番目のパスで、そのログファイルを使用して
正確に要求されたビットレートのビデオ。 パス1では、オーディオを非アクティブ化して、
出力をnullに設定します。WindowsとUnixの例:

ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL
ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y / dev / null

-passlogfile [:ストリーム指定子] 接頭辞 (出力、ストリームごと)
XNUMXパスログファイル名プレフィックスをに設定します 接頭辞、デフォルトのファイル名プレフィックスは
`` ffmpeg2pass ''。 完全なファイル名は次のようになります プレフィックス-N.log、ここでNは数値です
出力ストリームに固有

-vf フィルタグラフ (出力)
で指定されたフィルターグラフを作成します フィルタグラフ ストリームをフィルタリングするために使用します。

これは「-filter:v」のエイリアスです。 -フィルター オプション.

高機能 ビデオ オプション
-pix_fmt [:ストリーム指定子] 形式でアーカイブしたプロジェクトを保存します. (入力/出力、ストリームごと)
ピクセルフォーマットを設定します。 「-pix_fmts」を使用して、サポートされているすべてのピクセル形式を表示します。 の場合
選択したピクセルフォーマットを選択できません。ffmpegは警告を出力し、
エンコーダでサポートされている最高のピクセルフォーマット。 もしも pix_fmt 接頭辞「+」、ffmpeg
要求されたピクセルフォーマットを選択できない場合、エラーで終了し、
フィルタグラフ内の自動変換は無効になっています。 もしも pix_fmt 単一の「+」であり、
ffmpegは、入力(またはグラフ出力)と同じピクセル形式を選択し、自動
変換は無効になっています。

-sws_flags フラグ (入出力)
SwScalerフラグを設定します。

-vdt n
しきい値を破棄します。

-rc_override [:ストリーム指定子] オーバーライド (出力、ストリームごと)
「int、int、int」リストとしてフォーマットされた、特定の間隔のレート制御オーバーライド
スラッシュで区切ります。 最初のXNUMXつの値は、開始フレーム番号と終了フレーム番号で、最後は
XNUMXつは、正の場合に使用する量子化器、または負の場合に使用する品質係数です。

-イルメ
エンコーダでの強制インターレースサポート(MPEG-2およびMPEG-4のみ)。 次の場合にこのオプションを使用します
入力ファイルがインターレースされており、インターレース形式を最小限に抑えたい
損失。 別の方法は、入力ストリームをインターレース解除することです。 -インターレース解除、 だけど
インターレース解除は損失をもたらします。

-psnr
圧縮フレームのPSNRを計算します。

-vstats
ビデオコーディング統計をダンプする vstats_HHMMSS.log.

-vstats_file file
ビデオコーディング統計をダンプする file.

-上[:ストリーム指定子] n (出力、ストリームごと)
top = 1 / bottom = 0 / auto = -1フィールドが最初

-dc 精度
Intra_dc_precision。

-vtag fourcc /タグ (出力)
ビデオタグ/ fourccを強制します。 これは「-tag:v」のエイリアスです。

-クフィスト (全体的な)
QPヒストグラムを表示する

-vbsf ビットストリームフィルター
非推奨-bsfを参照

-force_key_frames [:ストリーム指定子] 時間[,時間...] (出力、ストリームごと)
-force_key_frames [:ストリーム指定子] expr: (出力、ストリームごと)
指定されたタイムスタンプ、より正確には後の最初のフレームでキーフレームを強制します
指定された時間ごと。

引数の前に「expr:」が付いている場合、文字列 のように解釈されます
式とフレームごとに評価されます。 キーフレームは、
評価はゼロ以外です。

いずれかの時間が ""チャプター "[デルタ]」、それはの時代に拡大されます
ファイル内のすべての章の先頭。 デルタ、での時間として表されます
秒。 このオプションは、シークポイントが
チャプターマークまたは出力ファイル内の他の指定された場所。

たとえば、5分にキーフレームを挿入し、さらに0.1秒前にキーフレームを挿入するには
すべての章の始まり:

-force_key_frames 0:05:00、chapters-0.1

の表現 次の定数を含めることができます。

n 0から始まる現在処理されているフレームの数

n_強制
強制フレームの数

前_強制_n
前の強制フレームの番号。キーフレームが強制されていない場合は「NAN」です。
まだ

前_強制_t
前の強制フレームの時間、まだキーフレームが強制されていないときは「NAN」です

t 現在処理されているフレームの時間

たとえば、5秒ごとにキーフレームを強制するには、次のように指定できます。

-force_key_frames expr:gte(t、n_forced * 5)

最後に強制された時刻から5秒後にキーフレームを強制するには、
13番目のXNUMX:

-force_key_frames expr:if(isnan(prev_forced_t)、gte(t、13)、gte(t、prev_forced_t + 5))

あまりにも多くのキーフレームを強制すると、の先読みアルゴリズムにとって非常に有害であることに注意してください。
特定のエンコーダー:固定GOPオプションなどを使用する方が効率的です。

-copyinkf [:ストリーム指定子] (出力、ストリームごと)
ストリームコピーを行うときは、最初にある非キーフレームもコピーします。

-hwaccel [:ストリーム指定子] ワッセル (入力、ストリームごと)
ハードウェアアクセラレーションを使用して、一致するストリームをデコードします。 の許容値
ワッセル には次の値があります:

なし
ハードウェアアクセラレーション(デフォルト)は使用しないでください。

オート
ハードウェアアクセラレーション方式を自動的に選択します。

VDA AppleVDAハードウェアアクセラレーションを使用します。

vdpau
VDPAU(Video Decode and Presentation API for Unix)ハードウェアアクセラレーションを使用します。

dxva2
DXVA2(DirectX Video Acceleration)ハードウェアアクセラレーションを使用します。

選択したhwaccelが利用できないか、によってサポートされていない場合、このオプションは効果がありません。
選択したデコーダー。

ほとんどのアクセラレーション方法は再生を目的としており、高速ではないことに注意してください
最新のCPUでのソフトウェアデコードよりも。 さらに、 ffmpeg 通常はコピーする必要があります
GPUメモリからシステムメモリにデコードされたフレーム。
パフォーマンスの低下。 したがって、このオプションは主にテストに役立ちます。

-hwaccel_device [:ストリーム指定子] hwaccel_device (入力、ストリームごと)
ハードウェアアクセラレーションに使用するデバイスを選択します。

このオプションは、 -ファッセル オプションも指定されています。 その正確な
意味は、選択した特定のハードウェアアクセラレーション方法によって異なります。

vdpau
VDPAUの場合、このオプションは使用するX11ディスプレイ/画面を指定します。 このオプションが
指定されていない、の値 DISPLAY 環境変数が使用されます

dxva2
DXVA2の場合、このオプションには、使用するディスプレイアダプタの番号が含まれている必要があります。
このオプションが指定されていない場合、デフォルトのアダプターが使用されます。

-ファッセルズ
このffmpegのビルドでサポートされているすべてのハードウェアアクセラレーションメソッドを一覧表示します。

オーディオ オプション
-aframes (出力)
出力するオーディオフレーム数を設定します。 これは「-frames:a」のエイリアスです。

-ar [:ストリーム指定子] 周波数 (入力/出力、ストリームごと)
オーディオのサンプリング周波数を設定します。 出力ストリームの場合、デフォルトで
対応する入力ストリームの周波数。 入力ストリームの場合、このオプションは
オーディオグラブデバイスと生のデマルチプレクサのセンスで、対応するものにマッピングされます
デマルチプレクサオプション。

-aq q (出力)
オーディオ品質を設定します(コーデック固有、VBR)。 これは-q:aのエイリアスです。

-交流[:ストリーム指定子] チャンネル (入力/出力、ストリームごと)
オーディオチャンネルの数を設定します。 出力ストリームの場合、デフォルトで
入力オーディオチャンネルの数。 入力ストリームの場合、このオプションは次の場合にのみ意味があります
オーディオグラブデバイスと生のデマルチプレクサは、対応するデマルチプレクサにマッピングされます
オプション。

-an (出力)
音声録音を無効にします。

-コーデック コー​​デック (入出力)
オーディオコーデックを設定します。 これは「-codec:a」のエイリアスです。

-sample_fmt [:ストリーム指定子] サンプルfmt (出力、ストリームごと)
オーディオサンプル形式を設定します。 「-sample_fmts」を使用して、サポートされているサンプルのリストを取得します
フォーマット。

-af フィルタグラフ (出力)
で指定されたフィルターグラフを作成します フィルタグラフ ストリームをフィルタリングするために使用します。

これは「-filter:a」のエイリアスです。 -フィルター オプション.

高機能 オーディオ オプション
-aタグ fourcc /タグ (出力)
オーディオタグ/ fourccを強制します。 これは「-tag:a」のエイリアスです。

-absf ビットストリームフィルター
非推奨。-bsfを参照

-guess_layout_max チャンネル (入力、ストリームごと)
一部の入力チャネルレイアウトが不明な場合は、に対応する場合にのみ推測してみてください。
ほとんどの指定されたチャネル数。 たとえば、2は ffmpeg 1を認識する
モノラルとしてのチャンネルとステレオとしての2チャンネルですが、6としての5.1チャンネルではありません。 デフォルトは
常に推測してみてください。 0を使用して、すべての推測を無効にします。

サブタイトル オプション
-scodec コー​​デック (入出力)
字幕コーデックを設定します。 これは「-codec:s」のエイリアスです。

-sn (出力)
字幕の録音を無効にします。

-sbsf ビットストリームフィルター
非推奨。-bsfを参照

高機能 サブタイトル オプション
-fix_sub_duration
字幕の長さを修正します。 字幕ごとに、同じ内の次のパケットを待ちます
重複を避けるために、最初の期間をストリーミングして調整します。 これはで必要です
一部の字幕コーデック、特にDVB字幕は、元の期間が
パケットは概算であり、最後は実際には空のサブタイトルでマークされています
フレーム。 必要なときにこのオプションを使用しないと、期間が誇張される可能性があります
または非単調なタイムスタンプによる多重化の失敗。

このオプションは、次の字幕パケットまですべてのデータの出力を遅らせることに注意してください
デコードされます:メモリ消費とレイテンシが大幅に増加する可能性があります。

-canvas_size サイズ
字幕のレンダリングに使用するキャンバスのサイズを設定します。

高機能 オプション
-地図 [ - ]入力ファイルID[:ストリーム指定子] [、同期ファイルID[:ストリーム指定子]] | [リンクラベル]
(出力)
XNUMXつ以上の入力ストリームを出力ファイルのソースとして指定します。 各入力ストリーム
入力ファイルインデックスによって識別されます 入力ファイルID および入力ストリームインデックス
入力ストリームID 入力ファイル内。 両方のインデックスは0から始まります。指定されている場合、
同期ファイルID:ストリーム指定子 どの入力ストリームをプレゼンテーション同期として使用するかを設定します
参照。

コマンドラインの最初の「-map」オプションは、出力ストリーム0のソースを指定します。
1番目の「-map」オプションは、出力ストリームXNUMXなどのソースを指定します。

ストリーム識別子の前の「-」文字は、「負の」マッピングを作成します。 これ
すでに作成されたマッピングからの一致するストリームを無効にします。

代替 [リンクラベル] フォームは、複雑なフィルターグラフからの出力をマップします(
-filter_complex オプション)を出力ファイルに追加します。 リンクラベル 定義されたものに対応する必要があります
グラフにリンクラベルを出力します。

たとえば、すべてのストリームを最初の入力ファイルから出力にマップするには

ffmpeg -i INPUT -map0出力

たとえば、最初の入力ファイルにXNUMXつのオーディオストリームがある場合、これらのストリームは次のようになります。
「0:0」と「0:1」で識別されます。 「-map」を使用して、配置するストリームを選択できます
出力ファイル。 例えば:

ffmpeg -i INPUT -map 0:1 out.wav

入力ストリームをにマップします 入力 (単一の)出力ストリームに対して「0:1」で識別されます
in out.wav.

たとえば、入力ファイルからインデックス2のストリームを選択するには a.mov (によって指定された
識別子「0:2」)、入力からインデックス6のストリーム b.mov (によって指定された
識別子「1:6」)、それらを出力ファイルにコピーします アウト.ムーブ:

ffmpeg -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov

入力ファイルからすべてのビデオとXNUMX番目のオーディオストリームを選択するには:

ffmpeg -i INPUT -map 0:v -map 0:a:2 OUTPUT

XNUMX番目のオーディオを除くすべてのストリームをマッピングするには、ネガティブマッピングを使用します

ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT

英語のオーディオストリームを選択するには:

ffmpeg -i INPUT -map 0:m:language:eng OUTPUT

このオプションを使用すると、この出力ファイルのデフォルトのマッピングが無効になることに注意してください。

-ignore_unknown
そのようなストリームのコピーが失敗するのではなく、不明なタイプの入力ストリームを無視します
試みた。

-コピー_不明
タイプが不明な入力ストリームをコピーする場合に失敗するのではなく、コピーできるようにする
ストリームが試行されます。

-マップチャンネル
[入力ファイルID.ストリーム指定子.チャンネルID| -1] [:出力ファイルID.ストリーム指定子]
特定の入力から出力にオーディオチャネルをマッピングします。 もしも
出力ファイルID.ストリーム指定子 が設定されていない場合、オーディオチャネルはすべてにマッピングされます
オーディオストリーム。

代わりに「-1」を使用する 入力ファイルID.ストリーム指定子.チャンネルID ミュートされたマップになります
チャンネル。

たとえば、 入力 ステレオオーディオファイルで、XNUMXつのオーディオを切り替えることができます
次のコマンドでチャネル:

ffmpeg -i 入力 -map_channel 0.0.1 -map_channel 0.0.0 出力

最初のチャネルをミュートしてXNUMX番目のチャネルを保持する場合:

ffmpeg -i 入力 -map_channel -1 -map_channel 0.0.1 出力

「-map_channel」オプションの順序は、
出力ストリーム。 出力チャネルレイアウトは、マップされたチャネルの数から推測されます
(XNUMXつの "-map_channel"の場合はモノラル、XNUMXつの場合はステレオなど)。 「-ac」を組み合わせて使用​​する
「-map_channel」は、入力および出力チャネルの場合にチャネルゲインレベルを更新するようにします
レイアウトが一致しません(たとえば、6つの「-map_channel」オプションと「-acXNUMX」)。

入力の各チャンネルを特定の出力に抽出することもできます。 以下
コマンドは、のXNUMXつのチャネルを抽出します 入力 オーディオストリーム(ファイル0、ストリーム0)から
それらの 出力_CH0 & 出力_CH1 出力:

ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1

次の例では、ステレオ入力のチャンネルをXNUMXつの別々のストリームに分割します。
同じ出力ファイルに入れられます:

ffmpeg -i Stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg

現在、各出力ストリームには、単一の入力からのチャネルのみを含めることができることに注意してください
ストリーム; たとえば、「-map_channel」を使用して複数の入力オーディオチャンネルを選択することはできません
(同じまたは異なるファイルからの)異なるストリームに含まれ、それらをにマージします
単一の出力ストリーム。 したがって、現在、たとえば、方向転換することはできません。
XNUMXつの別々のモノストリームをXNUMXつのステレオストリームに。 ただし、ステレオを分割する
XNUMXつのシングルチャネルモノストリームへのストリームが可能です。

この機能が必要な場合、考えられる回避策は、 合併する フィルター。 にとって
たとえば、メディアをマージする必要がある場合(ここ 入力.mkv)2つのモノラルオーディオストリームを使用して
XNUMXつのステレオチャンネルオーディオストリーム(およびビデオストリームを保持)、
次のコマンド:

ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv

-map_metadata [:Metadata_spec_out] ファイル内[:Metadata_spec_in] (出力、メタデータごと)
次の出力ファイルのメタデータ情報を ファイル内。 それらはファイルであることに注意してください
ファイル名ではなく、インデックス(ゼロベース)。 オプション Metadata_spec_in / out パラメータ
コピーするメタデータを指定します。 メタデータ指定子は、次の形式を持つことができます。

g グローバルメタデータ、つまりファイル全体に適用されるメタデータ

s[:ストリーム仕様]
ストリームごとのメタデータ。 ストリーム仕様 で説明されているストリーム指定子です Stream
指定子 章。 入力メタデータ指定子では、最初に一致するストリームは
からコピー。 出力メタデータ指定子では、一致するすべてのストリームがにコピーされます。

c:章の索引
章ごとのメタデータ。 章の索引 ゼロベースのチャプターインデックスです。

p:プログラムインデックス
プログラムごとのメタデータ。 プログラムインデックス ゼロベースのプログラムインデックスです。

メタデータ指定子を省略すると、デフォルトでグローバルになります。

デフォルトでは、グローバルメタデータは最初の入力ファイルからストリームごとおよびストリームごとにコピーされます。
チャプターメタデータは、ストリーム/チャプターと一緒にコピーされます。 これらのデフォルトのマッピングは
関連するタイプのマッピングを作成することにより無効になります。 負のファイルインデックスは
自動コピーを無効にするだけのダミーマッピングを作成するために使用されます。

たとえば、入力ファイルの最初のストリームからグローバルにメタデータをコピーします
出力ファイルのメタデータ:

ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

逆にするには、つまり、グローバルメタデータをすべてのオーディオストリームにコピーします。

ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

この例では、グローバルメタデータが次のようになっているため、単純な0でも機能することに注意してください。
デフォルトで想定されます。

-map_chapters 入力ファイルインデックス (出力)
インデックス付きの入力ファイルからチャプターをコピーします 入力ファイルインデックス 次の出力ファイルに移動します。 もしも
チャプターマッピングが指定されていない場合、チャプターは最初の入力ファイルからコピーされます
少なくともXNUMXつの章があります。 負のファイルインデックスを使用して、チャプターのコピーを無効にします。

-基準 (全体的な)
エンコードの最後にベンチマーク情報を表示します。 使用されたCPU時間を表示します
最大メモリ消費量。 最大メモリ消費量はすべてでサポートされているわけではありません
システムでは、サポートされていない場合、通常は0として表示されます。

-benchmark_all (全体的な)
エンコード中にベンチマーク情報を表示します。 さまざまなステップで使用されたCPU時間を表示します
(オーディオ/ビデオのエンコード/デコード)。

-制限時間 デュレーション (全体的な)
ffmpegが実行された後に終了します デュレーション 秒です。

-投げ捨てる (全体的な)
各入力パケットをstderrにダンプします。

-hex (全体的な)
パケットをダンプするときは、ペイロードもダンプします。

-re ( )
ネイティブフレームレートで入力を読み取ります。 主にグラブデバイスのシミュレーションに使用されます。 またはライブ入力
ストリーム(ファイルから読み取る場合など)。 実際のグラブデバイスまたは
ライブ入力ストリーム(パケット損失を引き起こす可能性がある場合)。 デフォルトでは ffmpeg を企てる
入力をできるだけ速く読み取ります。 このオプションは、読み取りを遅くします
入力のネイティブフレームレートへの入力。 リアルタイム出力に便利です
(例:ライブストリーミング)。

-loop_input
入力ストリームをループします。 現在、画像ストリームに対してのみ機能します。 このオプションは
自動FFserverテストに使用されます。 このオプションは非推奨です。-loop1を使用してください。

-loop_output 何度か
アニメーションGIFなどのループをサポートする形式の出力を繰り返しループします(0は
出力を無限にループします)。 このオプションは非推奨です。-loopを使用してください。

-vsync パラメーター
ビデオ同期方式。 互換性の理由から、古い値を数値として指定できます。
新しく追加された値は、常に文字列として指定する必要があります。

0, パススルー
各フレームは、タイムスタンプとともにデマルチプレクサからマルチプレクサに渡されます。

1, cfr
要求された定数を正確に達成するために、フレームが複製およびドロップされます
フレームレート。

2, 見る
フレームはタイムスタンプとともにパススルーされるか、2を防ぐためにドロップされます
同じタイムスタンプを持つフレーム。

ドロップ
パススルーとして、ただしすべてのタイムスタンプを破棄し、マルチプレクサを新鮮に生成させます
フレームレートに基づくタイムスタンプ。

-1、 オート
マルチプレクサの機能に応じて、1から2の間で選択します。 これがデフォルトです
方法。

この後、タイムスタンプはマルチプレクサによってさらに変更される可能性があることに注意してください。 にとって
たとえば、フォーマットオプションの場合 aim_negative_ts 有効になっています。

-mapを使用すると、タイムスタンプを取得するストリームを選択できます。 あなたはできる
ビデオまたはオーディオのいずれかを変更せずに、残りのストリームを
変更されていないもの。

-frame_drop_threshold パラメーター
フレームドロップしきい値。ビデオフレームがどれだけ遅れる可能性があるかを指定します。
ドロップされます。 フレームレート単位では、1.0は1.1フレームです。 デフォルトは-XNUMXです。 一
考えられる使用例は、タイムスタンプにノイズが多い場合にフレームドロップを回避するか、増加させることです。
正確なタイムスタンプの場合のフレームドロップ精度。

-非同期 秒あたりのサンプル数
オーディオ同期方式。 タイムスタンプに一致するようにオーディオストリームを「ストレッチ/スクイーズ」します。
パラメータは、オーディオが変更される1秒あたりの最大サンプル数です。 -非同期XNUMX
オーディオストリームの開始のみが修正される特殊なケースです。
後で修正。

この後、タイムスタンプはマルチプレクサによってさらに変更される可能性があることに注意してください。 にとって
たとえば、フォーマットオプションの場合 aim_negative_ts 有効になっています。

このオプションは非推奨になりました。 代わりに「aresample」オーディオフィルターを使用してください。

-コピー
入力タイムスタンプを処理しませんが、サニタイズを試みずにそれらの値を保持します
彼ら。 特に、初期開始時間オフセット値は削除しないでください。

に応じて、 VSYNC オプションまたは特定のマルチプレクサ処理(例:
フォーマットオプション aim_negative_ts 有効になっている)出力タイムスタンプが一致しない可能性があります
このオプションが選択されている場合でも、入力タイムスタンプを使用します。

-start_at_zero
と一緒に使用する場合 コピー、入力タイムスタンプをシフトして、ゼロから開始します。

これは、たとえば「-ss 50」を使用すると、出力タイムスタンプが50秒から始まることを意味します。
入力ファイルが開始されたタイムスタンプに関係なく。

-コピーTB モード
ストリームコピー時にエンコーダのタイムベースを設定する方法を指定します。 モード 整数です
数値であり、次のいずれかの値をとることができます。

1 デマルチプレクサのタイムベースを使用します。

タイムベースは、対応する入力から出力エンコーダーにコピーされます
demuxer。 これは、単調に増加しないようにするために必要になる場合があります
可変フレームレートでビデオストリームをコピーするときのタイムスタンプ。

0 デコーダのタイムベースを使用します。

タイムベースは、対応する入力から出力エンコーダーにコピーされます
デコーダ。

-1 正常な出力を生成するために、自動的に選択を行うようにしてください。

デフォルト値は-1です。

-最短 (出力)
最短の入力ストリームが終了したら、エンコードを終了します。

-dts_delta_threshold
タイムスタンプの不連続性のデルタしきい値。

-マックスディレイ ( )
最大demux-decode遅延を設定します。

-muxpreload ( )
初期のdemux-decode遅延を設定します。

-ストリームID 出力ストリーム インデックス:新しい価値 (出力)
新しいstream-id値を出力ストリームに割り当てます。 このオプションを指定する必要があります
適用される出力ファイル名の前。 複数の状況に
出力ファイルが存在する場合、streamidを別の値に再割り当てできます。

たとえば、出力用にストリーム0 PIDを33に設定し、ストリーム1PIDを36に設定します。
mpegtsファイル:

ffmpeg -i infile -streamid 0:33 -streamid 1:36 out.ts

-bsf [:ストリーム指定子] ビットストリームフィルター (出力、ストリームごと)
一致するストリームのビットストリームフィルターを設定します。 ビットストリームフィルター カンマ区切りです
ビットストリームフィルターのリスト。 「-bsfs」オプションを使用して、ビットストリームのリストを取得します
フィルタ

ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264

ffmpeg -i file.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt

-鬼ごっこ[:ストリーム指定子] コーデックタグ (入力/出力、ストリームごと)
ストリームを一致させるためにタグ/ fourccを強制します。

-タイムコード hh:mm:ss9月ff
書き込みのタイムコードを指定します。 9月 非ドロップタイムコードの場合は「:」、「;」は(または '。')
ドロップ。

ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg

-filter_complex フィルタグラフ (全体的な)
複雑なフィルターグラフ、つまり任意の数の入力および/または出力を持つフィルターグラフを定義します。
単純なグラフ(同じタイプのXNUMXつの入力とXNUMXつの出力を持つグラフ)については、を参照してください。
-フィルター オプション。 フィルタグラフ で説明されているように、フィルターグラフの説明です。
ffmpeg-filtersマニュアルの「フィルターグラフ構文」セクション。

入力リンクラベルは、を使用して入力ストリームを参照する必要があります
"[file_index:stream_specifier]"構文(つまり、 -地図 使用)。 もしも
ストリーム指定子 複数のストリームに一致し、最初のストリームが使用されます。 ラベルなし
inputは、一致するタイプの最初の未使用の入力ストリームに接続されます。

出力リンクラベルはで参照されます -地図。 ラベルのない出力が最初に追加されます
出力ファイル。

このオプションを使用すると、通常なしでlavfiソースのみを使用できることに注意してください。
入力ファイル。

たとえば、ビデオの上に画像をオーバーレイするには

ffmpeg -i video.mkv -i image.png -filter_complex '[0:v] [1:v] overlay [out]' -map
'[out]' out.mkv

ここで「[0:v]」は、リンクされている最初の入力ファイルの最初のビデオストリームを指します
オーバーレイフィルターの最初の(メイン)入力に。 同様に、の最初のビデオストリーム
XNUMX番目の入力は、オーバーレイのXNUMX番目の(オーバーレイ)入力にリンクされています。

各入力ファイルにビデオストリームがXNUMXつしかない場合、入力ラベルを省略できます。
したがって、上記は同等です

ffmpeg -i video.mkv -i image.png -filter_complex'overlay [out] '-map
'[out]' out.mkv

さらに、フィルターグラフから出力ラベルと単一の出力を省略できます
出力ファイルに自動的に追加されるので、簡単に書くことができます

ffmpeg -i video.mkv -i image.png -filter_complex'overlay 'out.mkv

lavfi「カラー」ソースを使用して5秒間の真っ赤なビデオを生成するには:

ffmpeg -filter_complex'color = c = red '-t 5 out.mkv

-ラフフィ フィルタグラフ (全体的な)
複雑なフィルターグラフ、つまり任意の数の入力および/または出力を持つフィルターグラフを定義します。
に相当 -filter_complex.

-filter_complex_script ファイル名 (全体的な)
このオプションはに似ています -filter_complex、唯一の違いは、その引数が
複雑なフィルターグラフの説明を読み取るファイルの名前。

-accurate_seek ( )
このオプションは、入力ファイルでの正確なシークを有効または無効にします。 -NS オプションを選択します。
デフォルトで有効になっているため、トランスコーディング時にシークが正確になります。 つかいます
-noaccurate_seek それを無効にするために、これは例えばいくつかのストリームをコピーするときに役立つかもしれません
他のトランスコーディング。

-seek_timestamp ( )
このオプションは、入力ファイルのタイムスタンプによるシークを有効または無効にします。 -NS
オプション。 デフォルトでは無効になっています。 有効になっている場合、 -NS オプションがある
実際のタイムスタンプと見なされ、ファイルの開始時刻によってオフセットされません。 この
トランスポートストリームなど、タイムスタンプ0から始まらないファイルにのみ関係します。

-thread_queue_size サイズ ( )
このオプションは、ファイルまたはファイルから読み取るときにキューに入れられるパケットの最大数を設定します。
端末。 低遅延/高レートのライブストリームでは、パケットが破棄される可能性があります
タイムリーに読み取られません。 この値を上げると回避できます。

-override_ffserver (全体的な)
からの入力仕様をオーバーライドします ffserver。 このオプションを使用すると、任意のマップを作成できます
入力ストリーム ffserver からエンコーディングの多くの側面を制御します ffmpeg。 なし
このオプション ffmpeg に送信します ffserver によって要求されるもの ffserver.

このオプションは、指定できない機能が必要な場合を対象としています。
ffserver しかしすることができます ffmpeg.

-sdp_file file (全体的な)
出力ストリームのsdp情報をに出力します file。 これにより、sdpをダンプできます
少なくともXNUMXつの出力がrtpストリームでない場合の情報。 (少なくともXNUMXつが必要です
出力フォーマットはrtp)。

-破棄 ( )
デマルチプレクサで特定のストリームまたはストリームのフレームを破棄できます。 すべてではない
デマルチプレクサはこれをサポートします。

なし
フレームを破棄しません。

デフォルト
デフォルト。フレームを破棄しません。

ノレフ
すべての非参照フレームを破棄します。

ビディール
すべての双方向フレームを破棄します。

ノーキー
キーフレームを除くすべてのフレームを破棄します。

すべてのフレームを破棄します。

-xerror (全体的な)
エラー時に停止して終了します

特別な例外として、ビットマップ字幕ストリームを入力として使用できます。
ファイル内の最大のビデオと同じサイズのビデオに変換されます。
ビデオはありません。 これは実験的かつ一時的な解決策であることに注意してください。 そうなる
libavfilterが字幕を適切にサポートすると削除されます。

たとえば、MPEG-TS形式で保存されたDVB-T記録の上に字幕をハードコーディングするには、
字幕を1秒遅らせる:

ffmpeg -i input.ts -filter_complex \
'[#0x2ef] setpts = PTS + 1 / TB [sub]; [#0x2d0] [サブ]オーバーレイ '\
-sn -map '#0x2dc' output.mkv

(0x2d0、0x2dc、および0x2efは、それぞれビデオ、オーディオ、および
字幕ストリーム; 0:0、0:3、0:7も機能します)

プリセット ファイル
プリセットファイルには、次のシーケンスが含まれています オプション= ペア、各行にXNUMXつずつ、
コマンドラインで指定するのが難しいオプションのシーケンス。 開始する行
ハッシュ( '#')文字は無視され、コメントを提供するために使用されます。 チェックしてください
プリセット 例として、FFmpegソースツリーのディレクトリ。

プリセットファイルには、ffpresetファイルとavpresetファイルのXNUMX種類があります。

ffプリセット ファイル

ffpresetファイルは、「vpre」、「apre」、「spre」、および「fpre」オプションで指定されます。 The
「fpre」オプションは、プリセット名の代わりにプリセットのファイル名を入力として受け取り、次のことができます。
あらゆる種類のコーデックに使用できます。 「vpre」、「apre」、および「spre」オプションの場合、オプション
プリセットファイルで指定されたものは、現在選択されている同じタイプのコーデックに適用されます。
プリセットオプション。

「vpre」、「apre」、および「spre」プリセットオプションに渡される引数は、プリセットを識別します
次のルールに従って使用するファイル:

最初のffmpegはという名前のファイルを検索します argはディレクトリ内の.ffpreset $ FFMPEG_DATADIR (if
セット)、および $ HOME / .ffmpeg、および構成時に定義されたdatadir内(通常は
PREFIX / share / ffmpeg)または ffプリセット その中で、win32の実行可能ファイルに沿ったフォルダ
注文。 たとえば、引数が「libvpx-1080p」の場合、ファイルを検索します
libvpx-1080p.ffpreset.

そのようなファイルが見つからない場合、ffmpegはという名前のファイルを検索します コーデック名-argは.ffプリセット
上記のディレクトリで、ここで コーデック名 は、
プリセットファイルオプションが適用されます。 たとえば、次のビデオコーデックを選択した場合
「-vcodeclibvpx」と「-vpre1080p」を使用すると、ファイルが検索されます
libvpx-1080p.ffpreset.

avプリセット ファイル

avpresetファイルは、「pre」オプションで指定されます。 それらはffpresetファイルと同様に機能します。
ただし、エンコーダ固有のオプションのみが許可されます。 したがって、 オプション= ペア指定
エンコーダは使用できません。

「pre」オプションが指定されている場合、ffmpegはサフィックスが.avpresetのファイルを検索します
ディレクトリ内 $ AVCONV_DATADIR (設定されている場合)、および $ HOME / .avconv、および定義されたdatadir内
構成時(通常は PREFIX / share / ffmpeg)、この順序で。

最初のffmpegはという名前のファイルを検索します コーデック名-argは上記の.avpreset
ディレクトリ、ここで コーデック名 プリセットファイルオプションが適用されるコーデックの名前です
適用されます。 たとえば、「-vcodec libvpx」を使用してビデオコーデックを選択し、
「-pre1080p」の場合、ファイルを検索します libvpx-1080p.avpreset.

そのようなファイルが見つからない場合、ffmpegはという名前のファイルを検索します argは.avpreset
同じディレクトリ。


ビデオ & オーディオ つかむ
入力フォーマットとデバイスを指定すると、ffmpegはビデオとオーディオを直接取得できます。

ffmpeg -f oss -i / dev / dsp -f video4linux2 -i /dev/video0/tmp/out.mpg

または、OSSの代わりにALSAオーディオソース(モノラル入力、カードID 1)を使用する場合:

ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0/tmp/out.mpg

ffmpegを起動する前に、適切なビデオソースとチャンネルをアクティブ化する必要があることに注意してください
などのテレビビューアでhttp://linux.bytesex.org/xawtv/> GerdKnorrによる。 あなたも持っています
標準のミキサーでオーディオ録音レベルを正しく設定します。

X11 つかむ
ffmpegを介してX11ディスプレイをつかむ

ffmpeg -f x11grab -video_size cif -framerate 25 -i:0.0 /tmp/out.mpg

0.0は、X11サーバーのdisplay.screen番号であり、DISPLAY環境変数と同じです。

ffmpeg -f x11grab -video_size cif -framerate 25 -i:0.0 + 10,20 /tmp/out.mpg

0.0は、X11サーバーのdisplay.screen番号であり、DISPLAY環境変数と同じです。
10はグラブのxオフセット、20はyオフセットです。

ビデオ & オーディオ file 形式でアーカイブしたプロジェクトを保存します. 変換
サポートされているファイル形式とプロトコルは、ffmpegへの入力として使用できます。

例:

・YUVファイルを入力として使用できます。

ffmpeg -i / tmp / test%dY /tmp/out.mpg

次のファイルを使用します。

/tmp/test0.Y、/tmp/test0.U、/tmp/test0.V、
/tmp/test1.Y、/tmp/test1.U、/tmp/test1.Vなど..

Yファイルは、UファイルとVファイルのXNUMX倍の解像度を使用します。 それらは生のファイルであり、
ヘッダ。 それらはすべてのまともなビデオデコーダーによって生成することができます。 サイズを指定する必要があります
画像の -s ffmpegがそれを推測できない場合のオプション。

・生のYUV420Pファイルから入力できます。

ffmpeg -i /tmp/test.yuv /tmp/out.avi

test.yuvは、生のYUV平面データを含むファイルです。 各フレームはYで構成されます
平面の後に、垂直および水平の半分の解像度でU平面とV平面が続きます。

・生のYUV420Pファイルに出力できます。

ffmpeg -i mydivx.avihugefile.yuv

・複数の入力ファイルと出力ファイルを設定できます。

ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg

オーディオファイルa.wavと生のYUVビデオファイルa.yuvをMPEGファイルa.mpgに変換します。

・オーディオとビデオの変換を同時に行うこともできます。

ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

a.wavを22050HzのサンプルレートでMPEGオーディオに変換します。

・同時に複数のフォーマットにエンコードし、入力からマッピングを定義できます
ストリームから出力ストリームへ:

ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2

a.wavを2キロビットでa.mp64に変換し、2キロビットでb.mp128に変換します。 '-マップファイル:インデックス'
各出力ストリームに使用される入力ストリームを、
出力ストリームの定義。

・復号化されたVOBをトランスコードできます。

ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi

これは典型的なDVDリッピングの例です。 入力はVOBファイルで、出力はAVIファイルです。
MPEG-4ビデオとMP3オーディオで。 このコマンドではBフレームを使用しているため、
MPEG-4ストリームはDivX5互換であり、GOPサイズは300であり、これはXNUMXつのイントラフレームを意味します
10fpsの入力ビデオの場合は29.97秒ごと。 さらに、オーディオストリームは
MP3でエンコードされているため、「-enable-libmp3lame」をに渡してLAMEサポートを有効にする必要があります
構成、設定。 マッピングは、DVDトランスコーディングで目的の画像を取得する場合に特に便利です。
音声言語。

注:サポートされている入力形式を確認するには、「ffmpeg-formats」を使用してください。

・ビデオから画像を抽出したり、多くの画像からビデオを作成したりできます。

ビデオから画像を抽出する場合:

ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg

これにより、ビデオからXNUMX秒あたりXNUMXつのビデオフレームが抽出され、次のように出力されます。
名前の付いたファイル foo-001.jpeg, foo-002.jpeg、など。画像は新しいものに合うように再スケーリングされます
WxH値。

限られた数のフレームだけを抽出したい場合は、上記のコマンドを使用できます
-vframesまたは-tオプションと組み合わせて、または-ssと組み合わせて開始します
特定の時点から抽出します。

多くの画像からビデオを作成する場合:

ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi

構文「foo-%03d.jpeg」は、XNUMX桁で構成されるXNUMX進数を使用することを指定します
シーケンス番号を表すためにゼロが埋め込まれます。 これは、によってサポートされているのと同じ構文です。
C printf関数ですが、通常の整数を受け入れる形式のみが適しています。

画像シーケンスをインポートする場合、-iはシェルのようなワイルドカードの拡張もサポートします
image2固有の「-pattern_typeglob」を選択することにより、内部でパターン(グロブ)
オプションを選択します。

たとえば、globパターンに一致するファイル名からビデオを作成する場合
"foo-*。jpeg":

ffmpeg -f image2 -pattern_type glob -framerate 12 -i'foo-*。jpeg'-s WxH foo.avi

・同じタイプの多くのストリームを出力に入れることができます。

ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut

結果の出力ファイル テスト12.nut からの最初のXNUMXつのストリームが含まれます
逆の順序でファイルを入力します。

・CBRビデオ出力を強制するには:

ffmpeg -i myfile.avi -b 4000k -最小レート 4000k -最大レート 4000k -bufsize 1835k out.m2v

・XNUMXつのオプションlmin、lmax、mblmin、およびmblmaxは「ラムダ」単位を使用しますが、
'q'単位から簡単に変換するQP2LAMBDA定数:

ffmpeg -i src.ext -lmax 21 * QP2LAMBDA dst.ext

onworks.net サービスを使用して avconv オンラインを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad