GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでffmpegを使用するための完全ガイド

簡単:この詳細なガイドは、Ubuntuおよびその他のLinuxディストリビューションにffmpegをインストールする方法を示しています。また、実際に使用するためのいくつかの便利なffmpegコマンドも示しています。

ffmpeg メディアファイルを処理するためのCLI(コマンドラインベース)ユーティリティです。これは多数の機能を備えたフレームワークであり、オープンソースライセンスであるため、VLC、YouTube、iTunesなどの多くの広範なアプリのベースとなっています。多くのLinuxビデオエディタはGUIの下でffmpegを使用しています。

ffmpegについて私がさらに気に入っていること 非常に簡単な方法で(1つまたは2つのコマンドを使用して)多くの処理タスクを実行するために単独で使用できるということです。ただし、これは非常に強力なプログラムであり、より複雑な方法で使用でき、編集ワークフローを置き換えることもできます。

このffmpegチュートリアルでは、 ffmpegをインストールする方法を紹介します さまざまな用途について説明します。さらに複雑な機能についても説明します。

このガイドのセクションは次のとおりです。

  • ffmpegのインストール
  • ffmpegの基本的な使用法
  • ffmpegの高度な使用法
  • フィルターの基本

Linuxの世界に慣れていない場合でも、何が起こっているのかを理解できるように、すべてを詳細に説明します。

Ubuntu 18.04を使用します 、ただし、これらのコマンドは他のディストリビューションでも機能するはずです。

注: 私はffmpegを調査しましたが この記事で言及するすべてのことを徹底的にテストしました。私は毎日ビデオ(または他のメディア)を編集していません。提案、ヒント、修正があれば、コメントで知らせてください!

やってみよう!

Ubuntuおよびその他のLinuxへのffmpegのインストール

ffmpegのインストール 簡単なプロセスです。これは人気のあるアプリケーションであり、パッケージマネージャーを介してほとんどのLinuxディストリビューションで利用できます。

Ubuntuにffmpegをインストールする

Ubuntuでは、ffmpegはユニバースリポジトリで利用できるため、ユニバースリポジトリを有効にしてください。次に、パッケージリストを更新してffmpegをインストールします。ターミナルで以下のコマンドを使用して、これらすべてを実行できます。

sudo add-apt-repository universe
sudo apt update
sudo apt install ffmpeg

それはそれであるはずです!次のように入力するだけでインストールを確認できます:

ffmpeg

これにより、 ffmpegを説明するテキストが表示されます。 構成(バージョンを含む) 。

上のスクリーンショットからわかるように、インストールされたバージョン 3.4.4です 。ただし、最新バージョン ffmpegの この記事を書いている時点では4.1 4.xをインストールするには バージョンでは、 ffmpeg ppaを使用する必要があります 。クリックして次のセクションを展開し、PPAを介したffmpegのインストールの詳細を確認してください。

PPAを使用してUbuntuベースのディストリビューションに最新のffmpeegをインストールします

最新のffmpegリリースをインストールするために使用できる非公式のPPAがあります。次のコマンドを使用するだけです:

sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
sudo apt install ffmpeg -y

Archベースのディストリビューションにffmpegをインストールする

Archベースのディストリビューションにffmpegをインストールするには、次のコマンドを使用します:

sudo pacman -S ffmpeg

Fedoraベースのディストリビューションにffmpegをインストールする

FedoraベースのLinuxディストリビューションにffmpegをインストールするには、次のコマンドを使用できます:

sudo dnf install ffmpeg

ffmpegの使用方法:基本

ffmpegを使用 インストールしたら、この強力なツールの使用を開始するための基本的なコマンドについて説明します。

0。 ffmpegコマンド

基本フォーム ffmpegコマンド は:

ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

すべてのファイルオプションは、それに続くファイルにのみ適用されることに注意する必要があります(次のファイルのために再度書き込む必要があります)。

-iが前に付いていないファイル 出力ファイルと見なされます。 Ffmpeg 指定した数の入力と出力を使用します。入力ファイルと出力ファイルの両方に同じ名前を使用することもできますが、 -yを追加する必要があります 出力ファイル名の前にタグを付けます。

混ぜるべきではありません 入力と出力;最初に入力ファイルを指定してから、出力ファイルを指定します。

1。メディアファイル情報を取得する

ffmpegの最初の使用 情報を表示する メディアファイルについて。これは、出力ファイルを入力しないことで実行できます。次のように入力するだけです:

ffmpeg -i file_name

これは、オーディオファイルとビデオファイルの両方で機能します:

ffmpeg -i video_file.mp4 
ffmpeg -i audio_file.mp3

このコマンドは便利ですが、ファイルに関係のない情報(ffmpegに関する情報)が多すぎます。これを省略するには、 -hide_bannerを追加します フラグ:

ffmpeg -i video_file.mp4 -hide_banner 
ffmpeg -i audio_file.mp3 -hide_banner

ご覧のとおり、コマンドは指定したメディアファイル(エンコーダー、ストリームなど)に関する詳細のみを出力するようになりました。

2。メディアファイルの変換

ffmpegを使用するもう1つの非常に便利な方法 手間のかからない変換用です 異なるメディアフォーマット間。 ffmpeg なので、入力ファイルと出力ファイルを指定するだけで済みます。 ファイル拡張子から必要な形式を取得します。これは、ビデオからビデオおよびオーディオからオーディオへの変換で機能します。

次にいくつかの例を示します。

ffmpeg -i video_input.mp4 video_output.avi 
ffmpeg -i video_input.webm video_output.flv
ffmpeg -i audio_input.mp3 audio_output.ogg
ffmpeg -i audio_input.wav audio_output.flac

さらに出力ファイルを指定することもできます:

ffmpeg -i audio_input.wav audio_output_1.mp3 audio_output_2.ogg

これにより、入力ファイルが指定されたすべての形式に変換されます。

サポートされているすべての形式のリストを表示するには、次を使用します:

ffmpeg -formats

ここでも、 -hide_bannerを追加できます アプリに関する情報を省略します。

-qscale 0を指定できます ビデオファイルの品質を維持するための出力ファイルの前のパラメータ:

ffmpeg -i video_input.wav -qscale 0 video_output.mp4

さらに、コーデックを指定できます 使用する-c:aを追加します (オーディオの場合 )および -c:v ビデオの場合 )の後にコーデックの名前を続けるか、コピー 元のファイルと同じコーデックを使用する場合:

ffmpeg -i video_input.mp4 -c:v copy -c:a libvorbis video_output.avi

注: これにより、ファイル拡張子がだまされる可能性があるため、注意してください。

3。ビデオからオーディオを抽出する

音声を抽出する ビデオファイルから、簡単な変換を行い、 -vnを追加します フラグ:

ffmpeg -i video.mp4 -vn audio.mp3

このコマンドはビットレートを利用することに注意してください 元のファイルの。自分で設定することをお勧めします。 -abを使用できます (オーディオビットレート):

ffmpeg -i video.mp4 -vn -ab 128k audio.mp3

いくつかの一般的なビットレート 96k、128k、192k、256k、320k(mp3でサポートされる最高のビットレート)です。

その他の一般的なオプション -ar 可聴周波数 :22050、441000、48000)、 -ac オーディオチャンネルの数 )、 -f 音声形式 、通常は自動的に検出されますが)。 -ab -b:aに置き換えることもできます 。例:

ffmpeg -i video.mov -vn -ar 44100 -ac 2 -b:a 128k -f mp3 audio.mp3

4。ビデオでオーディオをミュート

前のタスクと同様に、これを実現するために、次の簡単なタグを追加します: -an -vnの代わりに 。

ffmpeg -i video_input.mp4 -an -video_output.mp4

注: -an タグを使用すると、操作の結果に音声が含まれないため、その出力ファイルのすべての音声オプションが使用できなくなります。

5。ビデオから画像を抽出する

これは多くの人にとって便利かもしれません。たとえば、一連の画像(スライドショーなど)があり、そこからすべての画像を取得したい場合があります。次のように入力するだけです:

ffmpeg -i video.mp4 -r 1 -f image2 image-%3d.png

少し分解してみましょう。

-r フレームレートを指定します(1秒間に画像に抽出されるフレーム数、デフォルト :25)、 -f 出力形式を指定します( image2 実際にはimage2シーケンスを表します。

最後のパラメーター(出力ファイル)には、やや興味深い名前が付けられています。%3dを使用しています。 最後に。これは、画像に3桁の番号(000、001など)を付けるだけです。 %2dを使用することもできます (2桁の形式)または%4d (4桁形式)必要に応じて。自由に実験して、自分に合ったものを使用してください!

注: 一連の画像をビデオ/スライドショーに変換する方法もあります。これについては、高度な使用法で説明します セクション

6。ビデオ解像度またはアスペクト比の変更

ffmpegのもう1つの簡単なタスク 。 サイズ変更するために必要なことはすべて ビデオは-sの後に新しい解像度を指定します フラグ:

ffmpeg -i video_input.mov -s 1024x576 video_output.mp4

さらに、 -c:aを指定することもできます 出力ファイルのオーディオコーデックが正しいことを確認するには:

ffmpeg -i video_input.h264 -s 640x480 -c:a video_output.mov

アスペクト比を変更することもできます アスペクトを使用する :

ffmpeg -i video_input.mp4 -aspect 4:3 video_output.mp4

注: もう一度、高度な使用法でもう少し強力な方法について説明します。 セクション。

7。ポスター画像をオーディオに追加

これは、オーディオをビデオに変換するための優れた方法です。 、オーディオに1枚の写真(アルバムカバーなど)を使用します。これは、ビデオ/画像以外を許可しないサイトにオーディオファイルをアップロードする場合に非常に便利な機能です(YouTubeとFacebookはそのようなサイトの2つの例です)。

次に例を示します:

ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

コーデックを変更するだけです ( -c:v 動画を指定します コーデック、 -c:a オーディオを指定します コーデック)と名前 あなたのファイルの。

注: -厳密な実験的を使用する必要はありません 新しいバージョン( 4.x )を使用している場合 。

8。ビデオに字幕を追加する

ffmpeg でも同様に便利で、簡単に実行できます 字幕を追加することです ビデオ(たとえば、映画)に。次のように入力します:

ffmpeg -i video.mp4 -i subtitles.srt -c:v copy -c:a copy -preset veryfast -c:s mov_text -map 0 -map 1 output.mp4

もちろん、必要なコーデック(およびオーディオ/ビデオに関連するその他の追加オプション)を指定できます。 Linuxでの字幕の編集に関するこの記事は、グラフィカルに読むことができます。

9。メディアファイルの圧縮

圧縮 ファイルはファイルサイズを大幅に削減し、多くのスペースを節約します。これは、ファイルを転送する場合に重要になる可能性があります。 ffmpegを使用 、ファイルサイズを小さくする方法は複数あります。

注: ファイルを圧縮しすぎると、結果のファイルの品質が著しく低下します。

まず第一に、オーディオ ファイル、単に減らす ビットレート -b:aを使用 または-ab ):

ffmpeg -i audio_input.mp3 -ab 128k audio_output.mp3
ffmpeg -i audio_input.mp3 -b:a 192k audio_output.mp3

ここでも、いくつかの異なるビットレート値は、96k、112k、128k、160k、192k、256k、320kです。ビットレートが高いほど、ファイルサイズと品質が高くなります。

動画の場合 ファイル、あなたはより多くのオプションがあります。 1つの方法は、ビデオビットレートを下げることです。 ( -b:vを使用 ):

ffmpeg -i video_input.mp4 -b:v 1000k -bufsize 1000k video_output.mp4

注: 動画のビットレートは異なります オーディオビットレートから(はるかに高い値)。

-crfを設定できます フラグ(一定のレート係数 )。低いcrf より高いビットレートを意味します。また、 libx264を使用します ビデオコーデックとして 役立ちます。品質の低下はごくわずかですが、非常に効率的なサイズ縮小は次のとおりです。

ffmpeg -i video_input.mp4 -c:v libx264 -crf 28 video_output.mp4

crf 20から30が一般的ですが、特定の値を自由に試してみてください。

フレームレートを下げる 場合によっては機能する可能性があります(ただし、ビデオの動作が非常に遅く感じられる場合があります):

ffmpeg -i video_input.mp4 -r 24 video_output.mp4

-r フレームレートを指定します (この場合は 24

サイズを小さくしてみることもできます ビデオの(すでにそれを行う方法を説明しました)。追加のヒントは、圧縮することです。 オーディオ また、ステレオ ビットレートを下げる 。例:

ffmpeg -i video_input.mp4 -c:v libx264 -ac 2 -c:a aac -strict -2 -b:a 128k -crf 28 video_output.mp4

注: -strict -2 および-ac2 ステレオ部分の世話をします。 ビットレートを下げる部分についてはすでに説明しました

10。メディアファイルのカット(基本)

トリミングするには 最初のからのファイル 期間を指定する必要があります -tを使用する :

ffmpeg -i input_video.mp4 -t 5 output_video.mp4 
ffmpeg -i input_audio.wav -t 00:00:05 output_audio.wav

ご覧のとおり、これは両方のビデオで機能します およびオーディオ ファイル。上記の両方のコマンドは同じことを行います。入力ファイルの最初の5秒を出力ファイルに保存します。 期間を入力するさまざまな方法に慣れています :単一の数値(秒数)と HH:MM:SS (時間、分、秒)。 2番目のバージョンは、終了時間のように機能します 。

開始時刻を指定すると、さらに先に進むことができます -ssを使用 、さらには終了時間 -to

ffmpeg -i input_audio.mp3 -ss 00:01:14 output_audio.mp3
ffmpeg -i input_audio.wav -ss 00:00:30 -t 10 output_audio.wav
ffmpeg -i input_video.h264 -ss 00:01:30 -to 00:01:40 output_video.h264
ffmpeg -i input_audio.ogg -ss 5 output_audio.ogg

開始時刻が表示されます ( -ss HH:MM:SS )、期間-t期間 )秒単位で、終了時間-HH:MM:SSへ )、および開始時間-s期間 )秒単位(期間の後に開始 秒)。

これらはすべて有効なコマンドであり、それらを使用してメディアファイルの任意の部分を操作できます。

ffmpegの使用方法:高度な使用法

ここでは、もう少し高度な機能(スクリーンキャスト、デバイスの使用など)について説明します。最初のポイントに取り掛かりましょう!

1。メディアファイルの分割

すでにトリミングについて説明しました ファイル。 分割するためにあなたがしなければならないこと ファイルを複数の部分に 複数のトリムを指定することです (開始時刻を指定する 、終了時間 または期間 各出力ファイルの前)。

この例を観察してください:

ffmpeg -i video.mp4 -t 00:00:30 video_1.mp4 -ss 00:00:30 video_2.mp4

構文は非常に単純です。 -t 00:00:30を指定しました 期間として 最初の部分(最初の部分は元のビデオの最初の30秒で構成されます)。次に、残りの部分を2番目の動画の一部にすることを指定しました(最後の部分の終わりから、 00:00:30

これは、必要な数のパーツに対して実行できます。この機能は非常に強力なので、楽しんでください。オーディオでも機能することに注意してください。

2。メディアファイルを連結する

ffmpeg 逆のプロセス、つまり複数のパーツをまとめることもできます。

そのためには、作成する必要があります 新しいテキストファイル 編集を開始します お好みのエディタを使用してください。

ターミナルを使うのが好きなので、タッチを使います およびvim 。このファイルを何と呼んでも構いません。私のjoin.txtに電話します touchを使用してファイルを作成します :

touch videos_to_join.txt

次に、 vimを使用して編集します :

vim videos_to_join.txt

好きなツール(nano、geditなど)を使用できます。これが私にとって最も使いやすいツールです。

ここに、フルパスを入力します 参加したいすべてのファイルに (ここに記述した順序で結合されます)、1行に1つずつ。それらが同じ拡張子を持っていることを確認してください(例: mp4 )。これが私のものです:

/home/ubuntu/Desktop/video_1.mp4
/home/ubuntu/Desktop/video_2.mp4
/home/ubuntu/Desktop/video_3.mp4

編集したファイルを保存します。この方法は、すべてのオーディオファイルまたはビデオファイルで機能します。

次のように入力します:

ffmpeg -f concat -i join.txt output.mp4

注: 私の出力ファイルはoutput.mp4 、しかしそれは私のすべての入力ファイルが mp4を持っているからです 拡張機能

これは参加する必要があります join.txtに書き留めたすべてのファイル (または、そのファイルに名前を付けた場合)1つの出力ファイルにまとめます。

3。画像を動画に結合する

これが、スライドショーをまとめる方法です。 または同様のもの。 オーディオを追加する方法を紹介します

私が最初に行うことをお勧めするのは、まとめたい写真が同じディレクトリにあることを確認することです。 my_photosというディレクトリに私のものを置きます 。 拡張機能 写真に推奨されるのは.png および.jpg 。どちらを選択する場合でも、すべての画像の拡張子が同じであることを確認してください(それ以外の場合は、 ffmpeg を使用します) 意図しない影響を与える可能性があります)。単に変換することができます .png .jpgへのファイル またはその逆(基本的な使用法を参照) 。

フォーマット -f )変換の image2pipe 。入力には、ハイフンを指定する必要があります ( )。 image2pipe パイプが可能です ( |を使用 ターミナルで) catなどのコマンドの結果 ffmpegに すべての名前を1つずつ入力する代わりに。それがまさに私がすることです。これを機能させるには、ビデオコーデックが必要であることにも言及する必要があります。 コピーする ( -c:vコピー )(画像を適切に使用するため):

cat my_photos/* | ffmpeg -f image2pipe -i - -c:v copy video.mkv

このファイルを再生すると、スライドショーに追加されたのは一部の写真だけだと思う​​かもしれません。実際には、すべての写真が追加されていますが、 ffmpeg それらを可能な限り速く循環します。これは、写真ごとに1フレームを意味します。 ffmpeg (デフォルト)約 23 fpsで実行されます 。

これを変更するには、フレームレートを指定する必要があります (-フレームレート )必要なもの:

cat my_photos/* | ffmpeg -framerate 1 -f image2pipe -i - -c:v copy video.mkv 

私の例では、フレームレートを設定しました 1へ 、つまり、各フレーム(つまり各画像)が1秒間表示されることを意味します 。

オーディオを追加するには 、バックグラウンドソングなど、オーディオファイルを指定する必要があります 入力ファイルとして ( -i audo_file )およびコピー オーディオコーデック -c:コピー )。 コーデックの場合 、 -c copy を使用すると、オーディオコーデックとビデオコーデックの両方を同時にコピーできます。 。出力ファイルを指定する直前に、必ずコーデックを設定してください。 フレームレートを設定することもできます すべての写真が、使用するオーディオの長さと同期するようにします。それを取得するには、分割 写真の数 音声の長さ(秒単位) 。私の例では、22秒の長さのオーディオファイルと9つの画像があります。 9/22は約0.40なので、これをフレームレートに使用します:

cat my_photos/* | ffmpeg -framerate 0.40 -f image2pipe -i - -i audio.wav -c copy video.mkv

4。画面を記録する

スクリーンキャスト ffmpegを使用 大変な仕事ではありません。 フォーマット -f )使用する必要があるのは x11grab 。これにより、 XSERVERがキャプチャされます 。 入力として 画面表示番号を指定する必要があります (メイン画面は通常 0:0である必要があります )。ただし、これは左上部分のみをキャプチャします 画面の。 画面サイズを追加する必要があります ( -s )。鉱山は1920×1080画面サイズ 前に言及する必要があります 入力

ffmpeg -f x11grab -s 1920x1080 -i :0.0 output.mp4

qを押します またはCTRL+ C いつでも停止する スクリーンキャスト

ボーナストリック: 出力ファイルのサイズをフルスクリーンにすることができます サイズの後にこれを入力して (1920×1080またはその他の設定された解像度の代わりに):

-s $(xdpyinfo | grep dimensions | awk '{print $2;}')

完全なコマンドは次のとおりです:

ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 output.mp4

5。ウェブカメラを録画する

入力の記録 ウェブカメラから (またはUSBカメラなどの別のデバイス)はさらに簡単です。 Linuxでは、デバイス / devのストアです / dev / video0、/ dev/video1など

ffmpeg -i /dev/video0 output.mkv

繰り返しますが、 q またはCTRL+ C 録音を停止する 。

6。音声を録音する

Linuxは主にALSAを介してオーディオを処理します およびpulseaudio ffmpeg 記録できます 両方ですが、 pulseaudioについて説明します 、Debianベースのディストリビューションにはデフォルトで含まれているため。構文は2つの方法で少し異なります。

pulseaudioの場合 、強制する必要があります ( -f alsa デフォルトを指定します 入力として (-デフォルト ):

ffmpeg -f alsa -i default output.mp3

注: 配信サウンド設定で、デフォルトの録音デバイスを確認してください 記録したいものです。

私はギターをかなり弾きます、そして私はそれを録音することができるようにオーディオインターフェースを持っています。 ffmpeg のとき、嬉しい驚きがありました 問題なくギターを録音しました。

録音に関するボーナスのヒント

どのタイプの録音でも、コーデックを指定することもできます もちろん、(すでにカバーされています)。特定のフレームレートを選択できます ( -r )。 組み合わせることができます ウェブカメラ/スクリーンレコーディングでもオーディオを録音します!

ffmpeg -i /dev/video0 -f alsa -i default -c:v libx264 -c:a flac -r 30 output.mkv

音声を録音する代わりに、同じように簡単に追加することができます オーディオファイル スクリーンキャスト/ウェブカメラの上に記録される入力として:

ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 -i audio.wav -c:a copy output.mp4

注: ffmpeg 小さな断片で記録するため、非常に小さな記録は保存されない場合があります。ファイルが実際にディスクに書き込まれることを確認するために、少し長く録音し、後でカットすることをお勧めします(数秒だけが必要な場合)。

ffmpegでのフィルターの基本的な使用法

フィルター ffmpegの信じられないほど強力な機能です 。クレイジーな量のフィルターがあります ffmpeg を使用して、使用できるようにします 編集を完全に処理できます ニーズ。非常に多くのフィルターがあり、この記事はすでに包括的であるため、いくつかの単純なフィルターについてのみ説明します。

基本構造 フィルターを使用するため は:

ffmpeg -i input.mp4 -vf "filter=setting_1=value_1:setting_2=value_2,etc" output.mp4
ffmpeg -i input.wav -af "filter=setting_1=value_1:setting_2=value_2,etc" output.wav

ご覧のとおり、ビデオフィルターを指定しています ( -vf -filter:vの略 )およびオーディオフィルター -af -filter:aの略 )。実際のフィルターは二重引用符の中に書かれています ( )、カンマで区切ることで連鎖させることができます ( )。フィルタはいくつでも指定できます(などを作成しました) 追加のフィルターに注意してください。これは実際にはコマンドの一部ではありません。

一般的な形式 フィルターの は:

filter=setting_2=value_2:setting_2=value_2

さまざまなフィルター設定 とその コロンで区切られます 。

数学演算を実行することもできます として さまざまな設定

注: 式やさまざまな設定で使用されるさまざまな定数の詳細については、公式の記事をご覧ください。 ffmpegフィルターのドキュメント

両方のビデオについて説明します およびオーディオ フィルタ。いくつかの例を見てみましょう!

1。ビデオスケーリング

これは非常に単純なフィルターです。唯一の設定 です および高さ

ffmpeg -i input.mp4 -vf "scale=w=800:h=600" output.mp4

数学演算を使用できると述べました の場合 あまりにも:

ffmpeg -i input.mkv -vf "scale=w=1/2*in_w:h=1/2*in_h" output.mkv

このコマンドは、出力サイズを設定します 半分 1/2 入力サイズ in_w in_h

2。ビデオトリミング

スケーリングフィルターについて 、設定 です および高さ 結果のファイルの。オプションで、左上隅の座標を指定できます カットの(デフォルト: 入力ビデオの中心):

ffmpeg -i input.mp4 -vf "crop=w=1280:h=720:x=0:y=0" output.mp4 
ffmpeg -i input.mkv -vf "crop=w=400:h=400" output.mkv

前述のように、2番目のカットは入力ファイルの中央でカットされます( x を指定していないため) およびy 左上隅の座標)。最初のコマンドは左上隅から切り取ります( x =0:y =0

数式を使用する例を次に示します。 として :

ffmpeg -i input.mkv -vf "crop=w=3/4*in_w:h=3/4*in_h" output.mkv

このコマンドは、出力サイズを設定します 3/4入力サイズの ( in_w in_h

3。ビデオローテーション

回転することもできます ビデオ時計回り による (ラジアンで )。簡単にするために、で値を指定できます ラジアンに変換します 掛け算 PI / 180でその値 :

ffmpeg -i input.avi -vf "rotate=90*PI/180" 
ffmpeg -i input.mp4 -vf "rotate=PI"

最初のコマンドは回転します ビデオ時計回り90度 。 2番目のコマンドは回転します ビデオ逆さま (PIラジアン=180度)。

4。オーディオチャネルの再マッピング

これは、どういうわけかオーディオしか取得できない場合に役立ちます。 右耳 または同様のもの。 オーディオを作成できます 次のように(この特定の場合)両耳から聞こえます:

ffmpeg -i input.mp3 -af "channelmap=1-0|1-1" output.mp3

このマップ 正しい 1 )両方のへのオーディオチャネル ( 0 )と正しい 1 )オーディオチャンネル。 (左の番号 入力を表します 、正しい番号 出力を表します 。

5。音量の掛け算

掛けることができます 音量 本物 数値(整数かどうか)。 乗数を指定するだけです。 :

ffmpeg -i input.wav -af "volume=1.5" output.wav 
ffmpeg -i input.ogg -af "volume=0.75" output.ogg

最初のコマンドは増幅 ボリューム1.5 回数。 2番目のコマンドは、オーディオを 1/4にします (0.25)倍静か

ボーナスのヒント:再生速度の調整

動画の両方を含めます (オーディオには影響しません)およびオーディオ このタスクのフィルター。

1。ビデオ

動画のフィルタ setpts (PTS =プレゼンテーションのタイムスタンプ)。これはやや興味深い方法で機能します。実際にPTSを変更しているので 、より大きな係数 遅い結果を意味します 逆もまた同様です:

ffmpeg -i input.mkv -vf "setpts=0.5*PTS" output.mkv 
ffmpeg -i input.mp4 -vf "setpts=2*PTS" output,mp4

今説明したように、最初のコマンドは倍増 再生速度 2番目のコマンドは遅くなります ビデオ 1/2速度の 。A

2。オーディオ

このためのフィルターはアテンポです 。ちょっとした注意点が1つあります。それは、 0.5の間の値しかとることができません。 (半分の速度)および 2 (速度を2倍にします)。それを回避するために、アテンポを連鎖させることができます フィルタ:

ffmpeg -i input.wav -af "atempo=0.75" output.wav 
ffmpeg -i input.mp3 -af "atempo=2.0,atempo=2.0" ouutput.mp3

The first command slows the audio by 1/4 of the original speed. The second command speeds up the audio 4 times (2*2).

注: For changing video and audio playback speed with the same command you’ll have to look into filtergraphs

まとめ

In this comprehensive guide I covered the installation, basic usage, advanced usage and basics of filters.

I hope that this can be a helpful resource for anyone looking to try out ffmpeg , for someone that wants to use ffmpeg for multiple tasks or even just for someone who is willing to get more familiar with the extensive features of this amazing utility.

Let us know if you found this article useful in the comments below and tell us what are you using ffmpeg for! We look forward to any additions of any kind. Thanks for reading our blog and keep an eye out for an article covering more complex filtering 。お楽しみください!



Linux
  1. 初心者向けのLinuxターミナルガイド

  2. LinuxにFFmpegをインストールする方法

  3. LAMPスタックを使用してRockyLinux8にWordPressをインストールします-ステップバイステップガイド?

  1. Linuxwgetコマンドを使用するための7つの便利なトリック

  2. Void Linuxのインストール方法:完全なステップバイステップガイド

  3. LinuxでのLVMの完全な初心者向けガイド

  1. Linuxでtopコマンドを使用するためのヒント

  2. LinuxでAsciiDocを使用するための完全ガイド

  3. VirtualBox に Linux Mint 19 をインストールする:完全ガイド