ウェブサイト検索

Linux で FFmpeg を使用してビデオ フレームをカウントする方法


ビデオ フレームのカウントは、ビデオ編集、品質分析、フレーム レートの決定など、さまざまなシナリオで役立ちます。

マルチメディア ファイルを処理するための人気のあるオープンソース ツールである FFmpeg は、ビデオ フレームをカウントする簡単な方法を提供します。

この記事では、Linux でFFmpeg を使用してビデオ フレームをカウントする方法について説明します。

Linux への FFmpeg のインストール

FFmpeg が Linux システムにインストールされています。インストールされていない場合は、次のコマンドを使用して FFmpeg をインストールします。

sudo apt install ffmpeg         [On Debian, Ubuntu and Mint]
sudo yum install ffmpeg         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/ffmpeg  [On Gentoo Linux]
sudo apk add ffmpeg             [On Alpine Linux]
sudo pacman -S ffmpeg           [On Arch Linux]
sudo zypper install ffmpeg      [On OpenSUSE]    
sudo pkg install ffmpeg         [On FreeBSD]

FFmpeg を使用してビデオ フレームをカウントする

FFmpeg を実行する前に、ビデオ ファイルへの正確なパスを確認してください。このパスは、ダウンロード フォルダ、ビデオ ディレクトリなどにある可能性があります。位置。

ビデオ内のフレームをカウントするには、次のコマンドを使用します。

ffmpeg -i video.mp4 -map 0:v:0 -c copy -f null -

コマンドの説明:

  • ffmpeg: FFmpeg プログラムを実行します。
  • -i video.mp4: 入力ビデオ ファイルを指定します。
  • -map 0:v:0: 最初のビデオ ストリーム (メイン ビデオ) をマッピングします。
  • -c copy: 再エンコードせずにビデオ コーデックをコピーします (処理が高速になります)。
  • -f null -: 出力を null シンクに送信します (出力を破棄します)。

FFmpeg は、処理する各フレームの統計を含む出力を端末に表示します。出力の終わり近くで、処理されたフレーム数を示す行を探します。

frame= 4926 fps=0.0 q=-1.0 Lsize=N/A time=00:03:16.96 bitrate=N/A speed=1.97e+04x

frame 値は、ビデオ内のフレームの総数を表します。たとえば、frame= 4926 と表示されている場合、ビデオに 4926 フレームがあることを意味します。

フレームカウント結果をテキストファイルに保存したい場合は、grep コマンドを使用してフレーム情報のみをフィルタリングし、ファイルにリダイレクトします。

ffmpeg -i video.mp4 -map 0:v:0 -c copy -f null - 2>&1 | grep "frame=" > frame_count.txt

frame_count.txt ファイルを開いて、合計フレーム数を確認します。

cat frame_count.txt

サンプル出力:

frame= 4926 fps=0.0 q=-1.0 Lsize=N/A time=00:03:16.96 bitrate=N/A speed=2.15e+04x    

FFprobe を使用してビデオ フレームをカウントする

FFmpeg スイート内の別のツールである FFprobe は、ビデオをデコードせずにフレームに関する情報を直接抽出できます。多くの場合、FFmpeg を使用してフレームをカウントするよりも高速です。

ffprobe でフレームをカウントするには、次のコマンドを使用します。

ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of csv=p=0 video.mp4

このコマンドは、合計フレーム数を 1 つの数値として出力します。

4926    
結論

ビデオ内のフレームをカウントするのは、Linux 上のFFmpeg を使用すると簡単です。これにはいくつかの方法があります。最も直接的な方法は、FFmpeg-f null - コマンドを使用することですが、より迅速な結果を得るために FFprobe を使用することもできます。

関連記事: