FFmpeg
参考:
ドキュメント
参考:
ffmpeg Documentation [Official]
バイナリ
参考:
使い方
参考:
自分が使用している FFmpeg のコマンド例 | uepon 日々の備忘録
動画から特定フレームを画像で出力する方法 | ニコニコ動画研究所
導入
参考:
インストール
参考:
Windows 10 に ffmpeg をインストールする | ソースに絡まるエスカルゴ
FFmpeg をインストールする手順|新卒エンジニアの開発日記 (fukatsu.tech)
CentOS にインストールする
参考:
CentOS 7 + ffmpeg インストール – Qiita
CentOS 7 に ffmpeg を yum インストール – Qiita
CentOS 6系, 7系に FFmpeg をインストールする手順|新卒エンジニアの開発日記 (fukatsu.tech)
CentOS 7 に FFMpeg4 をインストールする | megutech
CentOS 8 で FFmpeg を簡単にインストールする方法 | Linux Magazine
How to Install and Use FFmpeg on CentOS 7 | Linuxize
オプション
参考:
最新 ffmpeg のオプションまとめ | MobileHackerz Knowledgebase Wiki
Video Options | ffmpeg Documentation [Official]
連番画像を扱う
PNG 画像から MP4 動画を作成する。
$ ffmpeg -framerate 30 -i image_%04d.png -vcodec libx264 -pix_fmt yuv420p -r 60 out.mp4
MP4 画像から PNG 画像を作成する。
$ ffmpeg -i input.mp4 -vcodec png image_%04d.png
参考:
ffmpeg で連番画像から動画生成 / 動画から連番画像を生成 – Qiita
動画から特定フレームを画像で出力する方法 | ニコニコ動画研究所
H.264 でエンコードする
参考:
H.264 でエンコード | tech.ckme.co.jp
FFmpeg, H.264 エンコーディングガイド 日本語訳 (yy-yako.net)
Encode/H.264 | FFmpeg wiki [Official]
MP4 形式に変換する
入力ファイルに WebM 形式のファイルを指定し、出力ファイルに拡張子 .mp4
のファイル名を指定する。
$ ffmpeg -i input.webm output.mp4
参考:
ffmpeg で webm を mp4 に変換する | みかづきブログ
webm を mp4 に変換する | あしたの Ubuntu
WebM 形式に変換する
参考:
FFmpeg を使って動画を WebM へ変換する手順 – Qiita
Mac + Homebrew 環境に ffmpeg を導入し、動画を .mp4 → .webm へ変換する方法 | 0017
-crf オプション
クオンタイザーのスケールを 0 〜 51 で指定する。0 を指定するとロスレス (クオンタイズされない) となる。デフォルトは 23。CRF 値を 6 増やすとビットレートはおよそ半分になる。
参考:
ffmpeg の固定品質 (crf) について実験してみた | 黒ぶちメガネの blog
x264 の crf 値はどれくらいが適切なのか? | もにっき
動画を簡単に圧縮する -crf オプション | 端くれプログラマの備忘録
ビデオのエンコード解像度で x264 / x265 の crf 値を決めてみる | Signal Flag “Z”
H.264 でエンコード | tech.ckme.co.jp
FFmpeg, H.264 エンコーディングガイド 日本語訳 (yy-yako.net)
Encode/H.264 | FFmpeg wiki [Official]
フレームレートを変換する
フレームを間引く
-r
オプションで出力のフレームレートを指定する。入力と出力の間で -r
オプションを指定すると、入力ファイルのフレームレートより小さい値の場合は、動画の再生時間を維持したままフレームが間引かれる。入力ファイルのフレームレートより大きい場合は効果がない。
$ ffmpeg -i movie.mp4 -r 30 movie_30fps.mp4
参考:
Video Options | ffmpeg Documentation [Official]
Using ffmpeg to change framerate – Stack Overflow
フィルター
参考:
-filter – ffmpeg Documentation [Official]
Filters Documentation | FFmpeg [Official]
What means [x] mean in FFmpeg – Super User
ファイル形式を指定する
AVI ファイルを MP4 形式に変換する。
$ ffmpeg -i movie.avi -pix_fmt yuv420p movie.mp4
参考:
ffmpeg を利用した動画ファイルフォーマット変換 – Qiita
Encode with ffmpeg using avi to mp4 – Unix & Linux Stack Exchange
convert from avi to mp4 using ffmpeg – Stack Overflow
yuv420p
参考:
Twitter に MP4 動画をアップロードするには yuv420p を使う必要がある (らしい) | kivantium 活動日記
ffmpeg で avi を mp4 に変換すると Windows Media Player で再生できない? | urashita.com
フレームレートの指定
連番画像を入力する時のフレームレートは -framerate
オプションで -i
オプションの前に設定する。
$ ffmpeg -framerate 30 -i image_%04d_png ...
出力する動画のフレームレートはフィルターの最後に -r
オプションで指定する。
$ ffmpeg -framerate 30 -i image_%04d_png -vcodec libx264 -pix_fmt yuv420p -r 60 out.mp4
参考:
saveVideo: ffmpeg drops frames (use -framerate on input) · Issue #74 · yihui/animation – GitHub
リサイズ/スケール
参考:
FFmpeg で動画をリサイズする | Askthewind’s diary
FFMPEGのリサイズ検証 |ebiflynageruyo の詳細
DJI Tello のための検証と実験 | WakaGeeks
拡大して指定サイズにクロップする
$ ffmpeg -i movie.mp4 -vf "scale=1920x1080:force_original_aspect_ratio=increase,crop=1920x1080"
参考:
FFmpeg で AspectFill 的なリサイズを行う – Qiita
How to crop and scale correctly with FFMPEG? – Stack Overflow
Convert a video to a fixed screen size by cropping and resizing – Unix & Linux Stack Exchange
crop then scale does not work – Video Production Stack Exchange
動画ファイルから音声を抽出する
-vn
オプションで動画を無効にし、-acodec copy
で音声をそのまま抽出する。出力ファイルの拡張子は音声のコーデックに合わせて適切に指定する必要がある。
$ ffmpeg -i movie.mp4 -vn -acodec copy sound.m4a
参考:
ffmpeg で動画ファイルから音声だけ抜き出す | katz’s adversaria
FFmepg を使って動画から音声を抽出する | virtualiment
FFmpeg で動画から音声だけ無劣化抽出 (分離) | SlackNote
Extracting wav from mp4 while preserving the highest possible quality – Super User
WAV 形式で音声を抽出する
24 bit PCM データ形式で出力する。
$ ffmpeg -i movie.mp4 -vn -acodec pcm_s24le -f wav sound.wav
16 bit PCM データ形式でを出力する。
$ ffmpeg -i movie.mp4 -vn -acodec pcm_s16le -f wav sound.wav
音楽 CD 用の WAV ファイル形式を出力する。
$ ffmpeg -i movie.mp4 -vn -ac 2 -ar 44100 -acodec pcm_s16le -f wav sound.wav
参考:
動画から MP3 / WAV ファイルを作る、WAV ファイルの音声を動画の音声にする – Qiita
Extracting wav from mp4 while preserving the highest possible quality – Super User
SVG ファイルから動画を作成する
参考:
svg slideshow with ffmpeg – Stack Overflow
GIF アニメーションを作成する
横幅を 320 ピクセルサイズの GIF アニメーションに変換する。
$ ffmpeg -i movie.mp4 -vf scale=320:-1 -r 10 output.gif
長い方の辺を200ピクセルにして GIF アニメーションに変換する。
$ ffmpeg.exe -i movie.mp4 -vf "scale=200:200:force_original_aspect_ratio=decrease" -r 10 movie.gif
参考:
ffmpeg でとにかく綺麗な GIF を作りたい – Qiita
ImageMagick と FFmpeg を利用して gif アニメと mp4 動画を生成してみましょう | 丸ノ内テックブログ
コマンド一発で動画を GIF 画像に変換できる ffmpeg の使い方メモ | virtualiment
ffmpeg で動画から綺麗な gif 画像 (アニメーション) を作成する | Askthewind’s diary
How do I convert a video to GIF using ffmpeg, with reasonable quality? – Super User
Using ffmpeg, how can I convert an MP4, crop and resize to GIF? – Super User
モーションブラー/リサンプリング
参考:
Can I add motion blur to make animation less jerky? – Video Production Stack Exchange
Speed up video with composite merging frames (averaging // “motion blur”)? – Super User
4x resample videoframes using ffmpeg – Video Production Stack Exchange
オーディオ/音声の形式を変換する
参考:
WAV ファイルを MP3 に変換する
$ ffmpeg -i "input.wav" \ -vn -ac 2 -ar 44100 -ab 256k -acodec libmp3lame \ -f mp3 "output.mp3"
参考:
動画から MP3 / WAV ファイルを作る、WAV ファイルの音声を動画の音声にする – Qiita
Convert audio files to mp3 using ffmpeg – Stack Overflow
MP3 エンコード (libmp3lame)
参考:
Encode/MP3 | FFmpeg wiki [Official]
コーデック
参考:
FFmpeg でよく使う例、コーデックをまとめてみた – Qiita
オーディオコーデック
参考:
ffmpeg のオーディオコーデックの指定 | tech.ckme.co.jp
Audio Types | FFmpeg wiki [Official]
HDR 動画を作成する
参考:
Encoding UHD 4K HDR10 videos with FFmpeg | Code Calamity
ビルドする
参考:
ffmpeg 4.2.2 を WSL (Ubuntu) で Windows 用にビルドする – Qiita
ffmpeg-windows-build-helpers で Windows版 ffmpeg をビルドする | つくみ島だより
FFcast
参考:
lolilolicon/FFcast: Run command on rectangular screen regions – GitHub
FFcast2 – screencast made easy | Arch Linux Forums
GIF screencasting; the UNIX way – Unix & Linux Stack Exchange
ffmpeg-windows-build-helpers
参考:
hdr10plus_parser
参考:
quietvoid/hdr10plus_parser: CLI tool to read HEVC files and parse dynamic metadata – GitHub