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はUniverseリポジトリで利用可能ですので、必ずuniverseリポジトリを有効にしてください。 それからパッケージリストを更新してffmpegをインストールします。 端末で以下のコマンドを使用してこれらすべてを実行できます。

 sudo add-apt-repository universe

sudo aptアップデート

sudo apt install ffmpeg

それはそれでなければなりません! 次のように入力するだけでインストールを確認できます。

 ffmpeg 

これはあなたのffmpeg設定( バージョンを含む)を記述するテキストを表示するはずです。

ffmpeg vversion

上のスクリーンショットからわかるように、 インストールされているバージョン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アップデート

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ファイル名 

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

 ffmpeg -i video_file.mp4

ffmpeg -i audio_file.mp3

ffmpegを使ってメディアファイルに関する情報を表示する

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

 ffmpeg -i video_file.mp4 -hide_banner

ffmpeg -i audio_file.mp3 -hide_banner

ffmpegを使ってメディアファイルの情報を表示する

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

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のフォーマット 

繰り返しになりますが、 -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コピー-c: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で置き換えることもできます。 例えば:

 ffmpeg -i video.mov -vn -ar 44100 -ac 2 -b: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イメージ2イメージ - %3d.png 

ちょっとそれを分解しましょう。

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

最後のパラメータ(出力ファイル)には、やや興味深い名前が付けられています。最後に%3dが使用されています。 これは単にあなたの画像に3桁(000、001など)の番号を付けます。 必要に応じて、 %2d (2桁フォーマット)、さらには%4d (4桁フォーマット)を使用することもできます。 自由に試して、あなたのためにどんな仕事でも使用してください!

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

6.ビデオの解像度または縦横比を変更する

ffmpegのためのもう一つの簡単な仕事。 ビデオのサイズ変更するには、 -sフラグの後に新しい解像度を指定するだけです。

 ffmpeg -i video_input.mov -s 1024 x 576 video_output.mp4 

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

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

-aspectを使ってアスペクト比を変更することもできます。

 ffmpeg -i video_input.mp4 - アスペクト4:3 video_output.mp4 

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

7.ポスター画像を音声に追加する

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

これが一例です。

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

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

注: 新しいバージョン( 4.x )を使用している場合は、 -strict experimentalを使用する必要はありません。

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

ffmpegを使用するのと同じくらい便利で簡単な方法は、ビデオ(たとえば映画)に字幕追加することです。 次のように入力します:

 ffmpeg -i video.mp4 -i subtitles.srt -c:vコピー-c:非常に高速のコピープリセット-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: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フラグ( Constant Rate Factor )を設定できます。 低いcrfは高いビットレートを意味します。 また、 ビデオコーデックとしてlibx264を使用すると役立ちます。 これは非常に効率的なサイズの縮小ですが、品質は非常に小さくなります。

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

20〜30のcrfが一般的ですが、特定の値で気軽に遊べます。

フレームレートを下げるとうまくいく場合があります(ただし、ビデオの速度が非常に遅くなる場合があります)。

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

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

あなたはビデオのサイズを減らすことを試みることもできます(既にそれを行う方法を説明しました)。 もう1つのヒントは、 オーディオ圧縮してステレオにし、 ビットレートを下げることです 。 例えば:

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

注: -strict -2-ac 2はステレオ部分を処理します。 ビットレートを下げる部分については既に説明しました

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期間 )(秒)、 終了時間-to 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は反対のプロセス、複数の部分をまとめることもできます。

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

私は端末を使うのが好きなので、 touchvimを使います。 このファイルを何にしてもかまいません。 私は私のjoin.txtを呼び出して、 touchを使用してファイルを作成します。

 touch videos_to_join.txt 

それでは、 vimを使って編集します。

 vim videos_to_join.txt 

あなたが欲しいものは何でも使うことができます(nano、geditなど)、これはそれが私にとって最も使いやすいものです。

ここでは、 結合したいすべてのファイルへのフルパスを入力します(ここに書いた順に結合されます)。 それらが同じ拡張子(例: 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でできることは、すべての名前を1つずつ入力するのではなく、 catなどのコマンドの結果をffmpegパイプ処理 (端末で|を使用)することです。 それはまさに私がやることです。 これが機能するためには、 ビデオコーデックコピーしたい( -c:v copy )(イメージを適切に使用する)必要があることにも言及する必要があります。

 猫my_photos / * | ffmpeg -f image2pipe -i - -c:vコピーvideo.mkv 

このファイルを再生すると、スライドショーに追加された写真は一部しかないと思われるかもしれません。 実際には、あなたの写真はすべて追加されていますが、 ffmpegは可能な限り速くそれらを巡回します。 これは写真1枚につき1フレームを意味します。 ffmpeg (デフォルト)は23 fps前後で動作します。

それを変更するには、あなたが望む フレームレート-framerate )を指定する必要があります。

 猫my_photos / * | ffmpeg -framerate 1 -f image2pipe -i - -c:vコピーvideo.mkv 

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

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

 猫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 1920 x 1080 -i:0.0 output.mp4 

スクリーンキャスト中止するには、 qまたはCtrl + Cを押します。

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

 -s $(xdpyinfo | grepの大きさ| awk '{print $ 2;}') 

これが完全なコマンドです。

 ffmpeg -f x11grab -s $(xdpy情報| grep寸法| awk '{print $ 2;}')-i:0.0 output.mp4 

5. Webカメラを録画する

Webカメラ (または他のデバイス、USBカメラなど)からの入力の記録はさらに簡単です。 Linuxでは、 デバイス/ dev / video0、/ dev / video1などの / devに格納されます

 ffmpeg -i / dev / video0 output.mkv 

記録停止するには 、もう一度qまたはCTRL + C押します。

6.音声を録音する

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

pulseaudioの場合、 alsa強制-f )して入力としてdefaultを指定する必要があります-i default )。

 ffmpeg -f alsa -iデフォルトのoutput.mp3 

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

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

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

どのような種類の録音でも、もちろんコーデックを指定できます(すでに説明済み)。 特定のフレームレートを選択できます( -r )。 あなたはあまりにもWebカメラ/スクリーンレコーディングと録音オーディオを組み合わせることができます!

 ffmpeg -i / dev / video0 -f alsa -iデフォルト-c:v libx264 -c:a flac -r 30 output.mkv 

音声を録音する代わりに、スクリーンキャストやWebカメラの上に録音する音声ファイルを入力として追加することもできます。

 ffmpeg -f x11grab -s $(xdpyinfo | grep寸法| awk '{print $ 2;}')-i:0.0 -i audio.wav -c:コピーの出力.mp4 

注意: ffmpegは小さな断片で記録するので、本当に小さな記録は保存されないかもしれません。 ファイルが実際にディスクに書き込まれることを確認するために、もう少し長く録音し、後でそれをカットすることをお勧めします(ほんの数秒が必要な場合)。

ffmpegのフィルタの基本的な使い方

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

フィルタを使用するための基本構造は次のとおりです。

 ffmpeg -i input.mp4 -vf "フィルター=設定1 =値1:設定2 =値2など" output.mp4 ffmpeg -i入力.wav -af "フィルター=設定1 =値1:設定2 =値2など" output.wav 

ご覧のとおりビデオフィルタ-vf-filter :vの短縮形)とオーディオフィルタ-af-filter :aの短縮形)を指定しています。 実際のフィルターは二重引用符" )で囲まれており、それらをコンマ )で区切ることで連結できます 。 あなたは好きなだけ多くのフィルタを指定することができます(私は追加のフィルタに注意するために私たちが書いた、実際にはコマンドの一部ではありません)。

フィルタ一般的な形式は次のとおりです。

 フィルター=設定2 =値2:設定2 =値2 

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

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

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

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

1.ビデオスケーリング

これはとても単純なフィルタです。 唯一の設定高さです。

 ffmpeg -i input.mp4 -vf "スケール= w = 800:h = 600"出力.mp4 

私はあなたが値に数学演算を使用できると述べました:

 ffmpeg -i input.mkv -vf "スケール= w = 1/2 * in_w:h = 1/2 * in_h" output.mkv 

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

2.ビデオトリミング

スケーリングフィルタに関しては、 設定は結果のファイルの高さです。 必要に応じて、カットの左上隅の座標を指定できます( デフォルト:入力ビデオの中心)。

 ffmpeg -i input.mp4 -vf "クロップ= w = 1280:h = 720:x = 0:y = 0" output.mp4

ffmpeg -i input.mkv -vf "クロップ= w = 400:h = 400" output.mkv

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

として数式を使用する例です

 ffmpeg -i input.mkv -vf "クロップ= w = 3/4 * in_w:h = 3/4 * in_h" output.mkv 

このコマンドは、 出力サイズ入力サイズの 3/4に設定しますin_win_h )。

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

をラジアン単位で 時計回りに 回転させることもできます。 作業を簡単にするために、 度数で値を指定し、その値にPI / 180掛けラジアンに変換することができます。

 ffmpeg -i input.avi -vf "回転= 90 * PI / 180"

ffmpeg -i input.mp4 -vf "rotate = PI"

最初のコマンドはビデオを時計回りに90度 回転させます。 2番目のコマンドは、ビデオを上下逆にします (PI rad = 180度)。

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

あなたがどういうわけか正しい耳に オーディオを得るか、または同様の何かを得るならば、これは役に立ちます。 このように両方の耳からオーディオを聞こえるようにすることができます(この場合)。

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

これ1 )のオーディオチャンネルを左の両方にマッピングします ( )と1 )のオーディオチャンネル。 ( 左の数字入力を表し、 右の数字出力を表します )。

5.音量の掛け算

音量には任意の実数 (整数かどうか)を掛けることができます。 乗数を指定するだけです:

 ffmpeg -i input.wav -af "音量= 1.5" output.wav

ffmpeg -i input.ogg -af "音量= 0.75" output.ogg

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

ヒント:再生速度の調整

このタスクには、 ビデオ (オーディオには影響しません)とオーディオフィルタの両方を含めます。

1.ビデオ

ビデオのフィルタが設定されています (PTS =プレゼンテーションタイムスタンプ)。 これはやや興味深いやり方で働きます。 実際にPTSを変更しているので、 係数大きい ほど遅い結果を意味し、逆もまた同様です。

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

ffmpeg -i input.mp4 -vf "setpts = 2 * PTS"出力、mp4

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

2.音声

これに対するフィルタはatempoです。 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

最初のコマンドは、オーディオを元の速度の1/4だけ 遅くします。 2番目のコマンドは、オーディオを4スピードアップします(2 * 2)。

注意: 同じコマンドでビデオとオーディオの再生速度を変更するには、 フィルタグラフを調べる必要があります。

まとめ

この包括的なガイドでは、インストール、基本的な使い方、高度な使い方、そしてフィルタの基本について説明しました。

私は、これがffmpeg試してみたい人、 ffmpeg複数のタスクに使いたい人、あるいはこの素晴らしいユーティリティの広範な機能にもっと慣れて欲しい人のためにも役立つリソースになることを願っています。

あなたが以下のコメントでこの記事が役に立つと思ったなら、私たちに知らせてください、そして、 あなたが ffmpegを何のために使っているのか私たちに教えてください! 私たちはあらゆる種類の追加を楽しみにしています。 私たちのブログを読んでくれてありがとう、そしてもっと複雑なフィルタリングをカバーしている記事に注目してください。 楽しい!

推奨されます

Ubuntuの親会社CanonicalがIPOに向かっている
2019
WMail:GmailとGoogle Inbox用のLinuxデスクトップクライアント
2019
カナリア諸島、オープンソースで70万ユーロを節約
2019