banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
telegram
bilibili
follow

FFmpeg の一般的なコマンド

#

最近 FFmpeg の強力さを発見し、様々な音声と動画の操作ができることを利用しています。多くのソフトウェアも FFmpeg を引用しており、主に無料でオープンソースのツールであるため、ライセンスなしで使用できます。ここでは、FFmpeg の一般的なコマンドのメモを簡単にまとめて、小白読者が自分の動画のエンコーディングを簡単に変換できるようにします!ここでの内容の大部分は、ネット上の情報を参考にして引用元を示しています。

さあ、一緒に遊んでみましょう ฅ՞・ﻌ・՞ฅ

FFmpeg のインストール#

image

Windows#

FFmpeg はソースコードのみを提供しており、コンパイルが必要ですが、すでにコンパイルされた FFmpeg を直接使用できるリリース版があるので、リポジトリから利用できます。

https://github.com/BtbN/FFmpeg-Builds/releases

Ubuntu#

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

概覧#

コンテナ形式#

私たちがよく見る動画ファイル形式は、実際にはコンテナであり、コンテナの中には動画トラック、音声トラック、メタデータ、字幕、タイトル、カバーなどが含まれています……
一般的な動画コンテナ形式には以下が含まれます。

  • MP4 (MPEG 4)
  • MKV (Matroska)
  • WebM
  • AVI (ASF)
  • MOV (QuickTime)

TOP: WebM は最近人気の AV1、VP9、VP8 でよく使用されるコンテナで、コーデックには特定のハードウェアアクセラレーションが必要です。

例えば、AIN の 22 年の新製品はすべて AV1 のコーデックハードウェアアクセラレーションをサポートしています。

コーディング#

一般的なコーディングの種類には、ライセンス付きコーディング、著作権のないコーディング、音声コーディング形式が含まれます。

ライセンス付きコーディング

  • H.262
  • H.264
  • H.265

著作権のないコーディング

  • VP8
  • VP9
  • AV1

音声コーディング形式

  • MP3
  • AAC

動画コーディング器

  • libx264: 最も人気のあるオープンソースの H.264 コーディング器
  • NVENC: NVIDIA GPU に基づく H.264 コーディング器
  • libx265: オープンソースの HEVC コーディング器
  • libvpx: Google の VP8 および VP9 コーディング器
  • libaom: AV1 コーディング器

音声コーディング器

  • libfdk-aac
  • aac

インストール済みの FFmpeg コーディング器を確認する

ffmpeg -encoders

使用方法#

ffmpeg [1] [2] -i [3] [4] [5]

[1] グローバルパラメータ

[2] 入力ファイルパラメータ

[3] 入力ファイル

[4] 出力ファイルパラメータ

[5] 出力ファイル

パラメータ#

  • -c: コーディング器を指定
  • -c copy: 再コーディングせずに直接コピー、より速い
  • -c:v: 動画コーディング器を指定
  • -c:a: 音声コーディング器を指定
  • -i: 入力ファイルを指定
  • -an: 音声ストリームを削除
  • -vn: 動画ストリームを削除
  • -preset: 動画コーディング品質 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow
  • -y: 確認なしで、同名ファイルを直接上書き

詳細:https://zh.m.wikipedia.org/zh-hans/FFmpeg


ファイル情報#

ffmpeg -i input.mp4

メタ情報のみ表示、クリーン
ffmpeg -i input.mp4 -hide_banner

フォーマット変換#

ffmpeg -i input.avi output.mp4

直接コピーが最も速い
ffmpeg -i input.avi -c copy output.mp4

-i 入力ファイル

-c copy 直接コピーして再コーディングせずに速度を向上

再コーディング#

ffmpeg -i input.mp4 -c:v libx264 output.mp4

H.265コーディング器を選択
ffmpeg -i input.mp4 -c:v libx265 output.mp4

-i 入力ファイル

-c コーディング器を変換

切り取り#

ffmpeg -ss 00:00:00 -t 00:00:30 -i input.mp4 -vcodec copy -acodec copy output.mp4

-ss 開始時間

-t 切り取る時間

-i 入力ファイル

ビットレート#

この章は専門的すぎるため、より深く理解する必要があります!ここでは最も簡単なコーディング方法を示し、圧縮設定は含まれていません。

ABR (VBR) 二次コーディング#

ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -pass 1 -f null /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -pass 2 output.mp4

もちろん、VBRを一度だけ行うこともできます
ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -pass 1 output.mp4

CBR 恒常ビットレート#

2Mビットレートに圧縮
ffmpeg -i input.mp4 -b:v 2M output.mp4

2Mビットレートに安定して圧縮
ffmpeg -i input.mp4 -b:v 2M -bufsize 2M output.mp4

2Mビットレートに安定し、最大2.5Mビットレートを許可
ffmpeg -i input.mp4 -b:v 2M -bufsize 2M -maxrate 2.5M output.mp4

libx264コーディング器を使用して、最小1Mビットレート、最大2Mビットレート、1Mビットレートに安定
ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -minrate 1M -maxrate 2M -bufsize 1M output.mp4

-i 入力ファイル

-b 音声ビットレート

-b 動画ビットレート

-minrate 最小ビットレートを許可

-maxrate 最大ビットレートを許可

-bufsize ビットレート制御バッファ

サイズ#

ffmpeg -i input.avi -fs 114M output.mp4

-i 入力ファイル

-fs ファイルサイズを制御

解像度#

ffmpeg -i input.mp4 -vf scale=1920:1080 output.mp4

アスペクト比を保持するには -1
ffmpeg -i input.mp4 -vf scale=1920:-1 output.mp4

-i 入力ファイル
[アスペクト比を保持 -1]

FPS#

ffmpeg -i input.avi -r 30 output.mp4

-i 入力ファイル

-r フレームレート値

音声抽出#

ffmpeg -i input.mp4 -aq 0 -f mp3 -vn output.mp3
ffmpeg -i input.mp4 -acodec aac -vn output.mp3

-i 入力ファイル

-f 出力形式

-vn 動画を含まない

-aq 0 圧縮品質

-acodec 音声コーディング器を設定

音声と動画の分離#

動画を分離

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

acc 形式を分離

ffmpeg -i input.mp4 -acodec copy -vn output.m4a
ffmpeg -i m.m4a m.mp3

音声を直接抽出

ffmpeg -i mavel4.mp4 m.mp3

音声と動画の結合#

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4

-i 入力ファイル

-c 音声コーディング方式

-c 動画コーディング方式

音声の圧縮#

ffmpeg -i input.wav -b:a 64k -acodec mp3 -ar 44100 -ac 1 output.mp3

-i 入力ファイル

-b ビットレート

-ar サンプリングレート

スクリーンショット#

指定時間のスクリーンショット

ffmpeg -ss 00:11:45 -i input.mp4 -r 1 output.jpg 

最初からフレームを抽出してスクリーンショット

ffmpeg -i input.mp4 -r 1 -q:v 2 -f image2 output.jpg

-i 入力ファイル

-r 秒ごとに 1 フレーム

-q 画像品質

-f 出力形式

カバー#

動画のカバー

ffmpeg -i input.mp4 -i input.jpg -map 0 -map 1:0 -c copy -disposition:v:1 output.mp4

音声のカバー

ffmpeg -i input.mp3 -i input.jpg -map 0:0 -map 1:0 -codec copy -id3v2_version 3 \ 
-metadata:s:v title="アルバムカバー" -metadata:s:v comment="カバー (前面)" output.mp3

引用:
FFmpeg 動画処理入門チュートリアル

ffmpeg を使用して動画ストリームと音声ストリームを分離する

ffmpeg の一般的なパラメータの説明と例

ビットレート制御(一):ビットレート制御モードの理解(x264,x264,vpx)

この記事は Mix Space によって xLog に同期更新されました。
元のリンクは https://www.miaoer.net/posts/blog/ffmpeg


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。