FFmpegで[x]の意味


0
ffmpeg -ss 4.5 -t 3.9 -i input.mp4 -vf "fps=18,scale=360:-2:flags=lanczos,palettegen" palette.png

ffmpeg -ss 4.5 -t 3.9 -i input.mp4 -i palette.png -filter_complex "fps=18,scale=360:-2:flags=lanczos[x];[x][1:v]palett‎euse" output.gif

このコマンドを使用してgifを作成しましたが、その[x];[x][1:v]意味はわかりません。

これは何ですか?

回答:


1

[x]ちょうどフィルタの出力に与えられた名称です。

それぞれのドキュメントエントリリンクラベルに関する部分もお読みください。

通常、単純なフィルターは1つ以上のフィルターを取得し、フィルターチェーンに入れます。これは、最初のコマンドの場合です。

あなたは持っている、複雑な複数の入力ストリームを処理しているとして、フィルタグラフにまとめ、複数のフィルタチェーンが可能な第2のコマンドでフィルタを。第1のチェーンが適用さfpsscale最初の入力映像に対して、および第二鎖は、適用paletteuse最初のフィルターチェーンの出力と第2入力画像にフィルタ。

各フィルターチェーンには、0個以上の入力と0個以上の出力を含めることができます。複雑なフィルターでは、通常ffmpeg、フィルターチェーンごとにこれらの入力と出力が何であるかを伝える必要があります。これが何をするか[x]です。

基本的に、[x]言うには、fpsand scaleフィルターチェーンの出力はと呼ばれxます。後で、paletteuseフィルターチェーンの入力として再利用できます。使用する必要はありませんx。他の名前を使用することもできますscaled


1

リンクラベルです。

ドキュメントから、

オプションで、フィルターの名前と引数の前後にリンクラベルのリストがあります。リンクラベルを使用すると、リンクに名前を付けてフィルター出力または入力パッドに関連付けることができます。

だから、でscale=360:-2:flags=lanczos[x]xスケールフィルタの出力に割り当てられたラベルです。

では[x][1:v]palett‎euse[x]scaleuseの出力を最初の入力としてpaletteuseにフィードする手段と[1:v]、2番目の入力(palette.png)の最初のビデオストリームをフィードする手段です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.