この記事では、Linuxオペレーティングシステム環境で画像からビデオを作成する手順を説明する前に、その理由を理解してから、その方法を理解することが重要です。
画像作成動画
画像をビデオに統合するという概念は、一連の画像を論理的に使用してビデオを構成するため、ロケット科学ではありません。あなたが見るすべてのビデオ。お気に入りのYouTubeビデオでさえ、画像から画像への移行が非常に速い一連の静止画像です。これらの遷移の間に黒い画像があり、再生中のビデオでフレームを1つの静止画像から次の静止画像に切り替えることができます。
[あなたも好きかもしれません:Linuxで過去24時間に変更されたファイルを見つける方法]
画像から画像への遷移メカニズムは、人間の目が気付くには速すぎます。目の錯覚が要因の1つです。作成されたビデオを定義するこれらの画像は、フレームと呼ばれます。再生中のビデオを一時停止すると、実際にはフレーム(静止画像)が表示されます。これが、一時停止した動画が再生中の動画と比較してぼやけた鮮明さを示す可能性がある理由です。
画像を使用した動画の測定
フレームレートは、1秒間に遷移する画像の数を表します。したがって、33ミリ秒ごとに画像が遷移する場合、そのビデオは1秒あたり30フレームに帰属します。これは、1時間あたり約108,000フレームです。このコンセプトは、720p、1080p、4Kの動画のサイズが異なる理由を理解するのに役立ちます。
この画像と動画の関係はエキサイティングですが、この記事ガイドでは、高度な動画編集の概念から焦点を移し、静止画像を動画に変換するのに役立てる必要があります。
Linuxでの画像からビデオへの作成にffmpegを使用する
このffmpeg 公開されているソースコードを備えた無料のソフトウェアは、この記事の目的を達成するのに役立ちます。
使用しているLinuxオペレーティングシステムディストリビューションに関連して、次のインストールオプションのいずれかを選択してください。
RHEL、CentOS、Rocky、AlmaLinuxにFFmpegをインストールする
$ sudo dnf install epel-release $ sudo yum config-manager --set-enabled PowerTools $ sudo yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo $ sudo dnf install ffmpeg
FedoraLinuxにFFmpegをインストールする
$ sudo dnf install \ https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm $ sudo dnf update $ sudo dnf install ffmpeg
Debian、Ubuntu、MintにFFmpegをインストールする
$ sudo apt-get install sshpass [On ]
ArchLinuxにFFmpegをインストールする
$ sudo pacman -S git $ git clone https://aur.archlinux.org/snapd.git $ cd snapd $ makepkg -si $ sudo systemctl enable --now snapd.socket $ sudo ln -s /var/lib/snapd/snap /snap $ sudo snap install ffmpeg
OpenSUSELinuxにFFmpegをインストールする
$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.2 snappy
openSUSE_Leap_15.2を交換します openSUSEのバージョンでopenSUSE_Tumbleweed、openSUSE_Leap_15.0、またはopenSUSE_Leap_15.1。
次に、一連のコマンドを実行してインストールします。
$ sudo zypper --gpg-auto-import-keys refresh $ sudo zypper dup --from snappy $ sudo zypper install snapd $ sudo systemctl enable snapd $ sudo systemctl start snapd
次の追加コマンドは、タンブルウィードユーザーに適用されます。
$ sudo systemctl enable snapd.apparmor $ sudo systemctl start snapd.apparmor
最後に、ffmpegをインストールします
$ sudo snap install ffmpeg
Linuxでの画像からビデオへの作成にFFmpegを使用する方法
タイムラプス動画とストップモーション写真を考え出すことは、提供された一連の静止画像からビデオを作成することのいくつかの重要な利点です。
ビデオ画像の準備
ffmpeg 以降、入力画像の命名規則は連続している必要があります 文字列照合ルールに従って、これらの画像を適切に識別して並べます。
画像ファイルの命名規則は、ffmpegでサポートされている次の3つのファイル名パターンのいずれかに準拠している必要があります。
- 先行ゼロ付き –ffmpegコマンドセグメント‘ filename-%03d.png ’は、filename-001.pngからfilename-999.pngの範囲の名前の画像ファイルを検索します。
- 先行ゼロなし –ffmpegコマンドセグメント‘ filename-%d.png ’は、filename-1.pngからfilename-999.pngの範囲の名前の画像ファイルを検索します。
- 通常の命名パターンなし –ffmpegコマンドセグメント‘filename-*。png ’は、画像ファイルを検索している間、順番に並べられません。
Linuxでの画像からのビデオの作成
ffmpeg 先行ゼロを含む画像ファイル名の画像からビデオへの作成の構文は、次のようになります。
$ ffmpeg -framerate 10 -i filename-%03d.png output.mp4
上記のコマンド構文から、フレームレートを目的の数値に設定し、出力ビデオファイル名を指定できます。
次の画像から動画を作成してみましょう。
$ ls

これらの画像ファイルの命名規則は連続していますが、先行ゼロがないため、次のffmpegコマンドを使用します。
$ ffmpeg -framerate 25 -i image-%d.png output.mp4
フレームレートを25に設定しました 。

期待される出力ビデオファイルが表示されるはずです:
$ ls

ビデオに変換する画像がシーケンシャルストリームに従う必要がない場合。 image-00.png、image-10.png、image-30.pngなどのランダムな名前の画像では、次の構文で示されるように、グロブマッチングパターンを使用できます。
$ ffmpeg -framerate 10 -pattern_type glob -i "image-*.png" output.mp4