1. ホーム
  2. ffmpeg

[解決済み] ffmpegのコマンドラインでの "copy "は何をするのですか?

2022-03-08 13:15:10

質問

何かをコピーすることは知っていますが、それ以外に何をするのでしょうか(出力ファイルにどの程度影響するのでしょうか)?それはスイッチかオプションですか?なぜ単語自体の前にハイフンがないのですか?

他の質問で見たのですが トランスコードせずにストリームをコピーする しかし、他にどのような操作が可能でしょうか?

私は ffmpeg --help が、それに関するドキュメントが見当たりません。もっと詳しく読めるサイトはないでしょうか?

どのように解決するのですか?

copy はスイッチでもオプションでもありません。コーデックオプションに設定できる値で、その意味は、デコード>フィルタ>エンコード処理を経る代わりにフレームをコピーすることです。

リンク先の質問では、文字列は -c copy これは、ビデオ、オーディオ、サブタイトル、データ、添付ファイルなど、すべてのコーデック操作をコピーするように設定することを意味します(もしあれば)。 -c-codec .

を設定した場合 -c:v copy は、処理中のビデオストリームをコピーすることを意味します。同じことが -c:a または -c:s または -c:d . もちろん、FFmpegは対象となるストリームを出力コンテナにmuxingすることをサポートしている必要があります。そうでない場合は、コマンドは失敗します。

オーディオ/ビデオ/マルチメディアフィルターは、オーディオ/ビデオフレームをデコードして操作する必要があるため、ストリームのコピーオーバーを要求するときには使用できません。したがって、その結果は再エンコードされる必要があります。しかし、ビットストリームフィルタは、メインペイロードを変更せず、ストリームに格納されている関連メタデータのみを変更するので、コピーに使用することができます。