コマンドライン用のサムネイルビデオギャラリーを生成する高速ツール


14

私はgframecatcherを使用して、サムネイルビデオギャラリー、つまり次のようなものを生成します。

ここに画像の説明を入力してください

ただし、これはGUIツールであり、ディレクトリ構造内のすべてのビデオのギャラリーを再帰的に作成するため、これを行うための高速なコマンドラインツールを探しています。

回答:


28

画像キャプチャ(これらは高さ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

7
レートには分数を使用できます(-r)。これにより、時間をより簡単かつ正確に指定できるようになります。5分= 300秒ffmpeg -i MOVIE.mp4 -r 1/300 -vf scale=-1:120 -vcodec png capture-%02d.png
DutGRIFF

avconvffmpeg使用できない場合(一部のUbuntuリリース)、同じように機能します。
ケンシャープ

2
これは機能しますが、ビデオファイル全体を配管する必要があります。superuser.com/questions/538112/…は、意味のあるサムネイルを見つけようとするいくつかの例を提供し、数フレームを取得するためにビデオ全体を座って処理する必要を回避します。
Skrylar

これは、画像にタイムスタンプを追加しません。
-felwithe

ディレクトリ内の多数のビデオに対してこれをバッチでどのように行いますか?
ポールジョーンズ

12

VCS-ビデオコンタクトシートと呼ばれる、使いやすいUNIXコマンドラインbashスクリプトを使用するのが好きです。彼らの公式ページ:http : //p.outlyer.net/vcs/

GUIよりもはるかに使いやすい

''これは、ビデオコンタクトシート(プレビュー)別名、サムネイルまたはビデオのプレビューを作成するためのbashスクリプトです。このスクリプトでは、mplayerおよびffmpegでサポートされているビデオを使用できます。'' システムにインストールするかffmpegmplayerインストールする必要があります。

使用法:

vcs input-filename -U0 -i 1m -c 3 -H 200 -a 300/200 -o save-filename.jpg

コマンドの仕組み

input-filnameをビデオファイルの名前に編集します!

  • -U0(フッターに名前がない-またはホスト名を表示する-これは文字ではなくゼロであることに注意してくださいO

  • -i 1m(キャプチャ時間間隔を分単位-nで設定します-この場合は1分ごとです- キャプチャ数を設定する代わりに、たとえば-n 2121個の画像を作成しますが、両方を使用しないでください)

  • -c 列数を設定します(ここでは3列です)

  • -H 200 -a 300/200 (ファイルが大きすぎないようにサイズとアスペクトを設定します-両方を行う必要があるようです)

  • -o filename.jpg(大きすぎると.jpgデフォルトとして使用し、.pngファイル名を選択したものに変更してください!)


7

これは法案に合うようで、無料でオープンソースであり、Windowsでも動作します:)

特定の間隔でフレームを盲目的に選択する代わりに、十分に近いがぼやけすぎないフレームを選択できるなど、高度な機能も備えています。

スクリーンショット

パラメータを渡すことができます(-D6)ので、これを行います:

より良いスクリーンショット

さらに、境界線がまったくないので、画像を少し大きくすることができます。


7

ffmpegフォーラムから解決策があります。

複数のスクリーンショットを作成し、それらを単一の画像ファイルに配置する(タイルを作成する)には、次のように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のタイルが作成されます。

元の投稿はこちら-http://ffmpeg.gusari.org/viewtopic.php ? f = 25&t = 597


また、ffmpegは同じ構文で「作物」をサポートしているようです。
いくつかのアイデア

4

これが、私のAWSからAWS EC2を使用して簡単なコンタクトシートを処理する方法です。

ステップ#1:Amazon Web Servicesで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" ec2-user@11.22.33.44 "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" ec2-user@11.22.33.44 "sudo su root; gunzip ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; tar -xf ffmpeg.static.64bit.latest.tar"

11.22.33.44をEC2 IPに置き換えます。

ステップ#3:ビデオを処理する

ビデオを送信します。

rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem pem' /Users/mdouma/Desktop/myVideo.mov ec2-user@11.22.33.44:/home/ec2-user/

コンタクトシートに加工します:

ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "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をローカルルートに 変更 します。7 番目のフレームごとにのみ必要な場合は、「、1」を他の番号(「、7」など)に変更します。111を任意のサイズに変更します

Macにコピーして戻します:

rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem'  ec2-user@11.22.33.44:/home/ec2-user/out.png  /Users/mdouma/Desktop/out.png
open /Users/mdouma/Desktop/out.png

これは素晴らしいヒントです。ただし、これsudo suは目的がありません。
ケンシャープ

2
なぜこれをec2に送信するのですか?Macでローカルに実行してみませんか?ビデオファイルのサイズがGBになる可能性があります
...-

4

このツールは私を助けてくれました(2019-02)-そしてそれは維持されています。多くのオプション-グリッド、品質、フォント、色、境界線、間隔、...

https://github.com/amietn/vcsi

ビデオコンタクトシートを作成します。ビデオコンタクトシートは、グリッドに配置されたビデオキャプチャサムネイルで構成される画像です。

ffmpegとpythonのみが必要です。


これはとても良いです-ありがとう!
アッシュ

1

「imagemagick」パッケージには、このようなもののためのユーティリティが含まれています。

http://www.imagemagick.org/Usage/thumbnails/

たくさんの言語で imagemajickを使用するAPIライブラリもあります。


対応するコマンドは何でしょうか?
学生

convertおそらく最も一般的なものです。リンクした最初のページの[ 全般的なサムネイルの作成]というセクションをご覧ください。
goldilocks

1

Totem-14.04およびUbuntuの一部の以前のバージョンのデフォルトのビデオプレーヤー-シンプルなオプションのメニューオプションがあります([編集]メニューの[スクリーンショットギャラリーの作成...])。また、「totem-video-thumbnailer」と呼ばれる同等のコマンドラインもあります。これには、使用方法を説明したマニュアルページがあります。findコマンドの出力を使用して(名前にスペースを含むファイルを分離しないように注意して)単純なbashスクリプトを作成し、特定のファイルより上にあるサムネイルスクリーンショットギャラリー(または上記のコンタクトシート)を自動生成しましたまだ持っていないディレクトリのサイズ。

誰かがそれを探しているのを想像したなら、〜jgbreezerの下にあるgithubにアップロードできます。ffmpegなどを使用したソリューションの方が柔軟性と信頼性が高い場合がありますが、特定のフレームが見つからないというトーテムコマンドからエラー出力が表示されるようですが、ほとんどの場合はうまくいくようです。


0

私は同じものが欲しかったので、グーグルは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て、私は生産にそれをカスタマイズしたInputFile.mp4-screen.jpegbashスクリプト自体を編集すること。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.