私は gframecatcher を使用して、サムネイルビデオギャラリーを生成します。つまり、次のようなものです。
ただし、これはGUIツールであり、ディレクトリ構造内のすべてのビデオのギャラリーを再帰的に作成したいので、これを行うための高速コマンドラインツールを探しています。
画像キャプチャ(これらは高さ100ピクセルで、縦横比を維持)、速度(-r
)は1秒あたり(これにより、約5分ごとに1フレームが生成されます)、これにより、出力イメージにタイムスタンプも追加されます。
ffmpeg -i MOVIE.mp4 -r 0.0033 -vf scale=-1:120 -vcodec png capture-%002d.png
次に、ImageMagick
を使用してギャラリー画像を作成します。
montage -title "Movie Name\nSubtitle" -geometry +4+4 capture*.png output.png
VCS-ビデオコンタクトシートと呼ばれる使いやすいUNIXコマンドラインbashスクリプトを使用するのが好きです。彼らの公式ページ: http://p.outlyer.net/vcs/
GUIよりもはるかに使いやすい
''これは、ビデオのサムネイルまたはプレビューとして、ビデオのコンタクトシート(プレビュー)を作成するためのbashスクリプトです。このスクリプトでは、mplayerおよびffmpegでサポートされているすべてのビデオを使用できます。 '' ffmpeg
またはmplayer
をシステムにインストールする必要があります。
使用法:
vcs input-filename -U0 -i 1m -c 3 -H 200 -a 300/200 -o save-filename.jpg
コマンドのしくみ
Input-filnameをビデオファイルの名前に編集してください!
-U0
(フッターに名前がない-またはホスト名が表示される-これは文字O
ではなくゼロであることに注意してください)
-i 1m
(キャプチャ時間間隔を分単位で設定します。この場合は1分ごとです)-n
代わりに、キャプチャの数を設定します。例:-n 21
は21個の画像を作成しますが、両方を使用しないでください)
-c
列数を設定します(ここでは3列です)
-H 200 -a 300/200
(サイズとアスペクトを設定するため、ファイルが大きくなりすぎない-両方を実行する必要があるようです)
-o filename.jpg
(使用する .jpg
デフォルトとして.png
が大きすぎます-ファイル名を任意の名前に変更してください!)
これは法案に合うようです 、それは無料でオープンソースであり、Windowsでも動作します:)
特定の間隔で任意のフレームを盲目的に選択する代わりに、十分に近いがぼやけすぎて見えないフレームを選択することができるので、これを行う代わりに、高度な機能さえ備えています。
パラメータ(-D6
)これを行います:
加えて、私は境界線が本当に好きではないので、画像が少し大きくなることがあります。
Ffmpegフォーラムからの解決策があります。
複数のスクリーンショットを作成してそれらを1つの画像ファイルに配置する(タイルを作成する)には、次のようにFFmpegのタイルビデオフィルターを使用できます。
ffmpeg -ss 00:00:10 -i movie.avi -vf 'select=not(mod(n\,1000)),scale=320:240,tile=2x3' out.png
これにより、ムービーの10秒がシークされ、1000フレームごとに選択され、320x240ピクセルにスケーリングされ、出力画像out.pngに2x3タイルが作成されます。
このツールは私を助けました(2019-02)-そしてそれは維持されます。多くのオプション-グリッド、品質、フォント、色、境界線、間隔、...
https://github.com/amietn/vcsi
ビデオコンタクトシートを作成します。ビデオコンタクトシートは、グリッドに配置されたビデオキャプチャサムネイルで構成される画像です。
Ffmpegとpythonのみが必要です。
これは、MacからAWS EC2を使用して簡単なコンタクトシートを処理する方法です。
ステップ#1:アマゾンウェブサービスでEC2インスタンスを作成する
私が使用した:
Amazon Linux AMI 2015.03.1 (HVM), SSD Volume Type - AMI-0d4cfd66
t2.medium
ステップ#2:インスタンスを構成する
便宜上、これはすべて私のMacから実行しますが、EC2コマンドラインから "sudu su ..."コマンドだけを実行することもできます。
ssh -i "/local/path/to/key/your_ec2_key.pem" [email protected] "Sudo su root; curl -O http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" [email protected] "Sudo su root; gunzip ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" [email protected] "Sudo su root; tar -xf ffmpeg.static.64bit.latest.tar"
EC2 IPで11.22.33.44を置き換える
ステップ#3:ビデオを処理する
ビデオを送る:
rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem pem' /Users/mdouma/Desktop/myVideo.mov [email protected]:/home/ec2-user/
コンタクトシートに加工します。
ssh -i "/local/path/to/key/your_ec2_key.pem" [email protected] "rm -f out.png ; ./ffmpeg -ss 00:00:00 -i myVideo.mov -vf 'select=not(mod(n\,1)),scale=113:111,crop=111:111,tile=18x36' out.png"
/ Users/mdoumaをローカルルートに変更します "、1"を他の数値に変更します(例: " 、7 "、7フレームごとにのみ必要な場合。111を任意のサイズに変更します
それを私のMacにコピーして戻します。
rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem' [email protected]:/home/ec2-user/out.png /Users/mdouma/Desktop/out.png
open /Users/mdouma/Desktop/out.png
「imagemagick」パッケージには、このようなもののためのユーティリティがあります。
http://www.imagemagick.org/Usage/thumbnails/
多数の言語も にimagemajickを使用するAPIライブラリがあります。
トーテム-14.04および一部の以前のバージョンのUbuntuのデフォルトビデオプレーヤー-シンプルなオプションのメニューオプションがあります([編集]メニューの[スクリーンショットギャラリーの作成...])。 "totem-video-thumbnailer"と呼ばれる同等のコマンドライン(ish)もあります。これには、使用方法を説明するmanページがあります。 findコマンドの出力を使用して(名前にスペースが含まれるファイルを分離しないように注意して)単純なbashスクリプトを記述し、特定の上のファイルのサムネイルスクリーンショットギャラリー(または上記で参照したコンタクトシート)を自動生成しましたまだ存在していないディレクトリのサイズ。
誰かがそれを探していると思ったら、それを〜jgbreezerの下のgithubにアップロードできます。 ffmpegなどを使用したソリューションの方が、柔軟性と信頼性が高いかもしれません。特定のフレームが見つからないというtotemコマンドからのエラー出力が表示されるようですが、ほとんどの場合、とにかく動作するようです。
私は同じことを望んでおり、ググリングはffmpegとimagemagickを使用してしまいました。 「速い」私見ではありません。次に、 SlickSlice という名前のbashスクリプトを見つけました(最終更新は2008年ですが、昨日は完全に機能していました)。インストールして、構成ファイルとスクリプト自体を使用して、好みに合わせてカスタマイズしました。ちなみにスクリプトはImageMagickとMPlayerを使用しています。
詳細なハウツーとカスタマイズ をうまく使いこなして作りました。インストールに成功したら、コマンドと同じくらい簡単にビデオタイムラインサムネイルを生成できます。slickslice -x "InputFile.mp4"
(デフォルトは4列x 15行)またはslickslice -x "InputFile.mp4" -S 6x10
(6列x 10行の場合)。
SLICKSLICED_InputFile.mp4.jpeg
として出力され、bashスクリプト自体を編集してInputFile.mp4-screen.jpeg
を生成するようにカスタマイズしました。