5

日中は毎分カメラで写真を撮ります。画像から動画を作りたいです。1 日 -> 1 本の動画

私は次のように一日の終わりにそれを行うためにmencoderを使用します: mencoder "mf://*.jpg" -mf fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=7000 -vf scale=1024:768 -oac copy -o movie.avi それはうまく動作しますが、:

問題は、Raspberry Pi (700MHz ARM) でそれを行う必要があり、日中に撮影した 1500 枚の写真からビデオを作成するのに約 1 時間かかることです (約 0.5 fps で動作します)。

ビデオを「継続的に」作成する方法 (各写真を撮影した直後にメンコーダーに渡す方法) と、毎日深夜にビデオの作成を停止する方法はありますか? 次に、写真を撮り、2〜3秒間処理し、さらに1分待ってもう一度処理します.

ありがとう。

4

2 に答える 2

1

これは の回答ではmencoderなくffmpeg、コメントで許可されているものです。

要件:

  • すべての写真には連続した番号を付ける必要があります (つまり、picName1.png、picName2.png など)。
  • すべての写真は同じフォルダーにある必要があります。
  • オプションが最近変更されたため、ffmpeg の最新バージョンが必要です。

動画を作成するには:

ffmpeg -r fps -f image2 -i '/path/to/your/picName%d.png' -qscale 0 '/path/to/your/new/video.avi'
  • fpsを目的のフレーム レート (10、25、30 など) fps に置き換えます。
  • /path/to/your/picNameを実際のパスに置き換えますが、ffmpeg に数値を入力するように指示する %d はそのままにして おきます
  • /path/to/your/new/video.avi を選択した宛先に置き換えます。

この方法で作成されたビデオは最高品質になります。オプションを使用して、ビデオ サイズの要件に合わせて品質を調整でき-qます。

詳細については、ffmpeg のマニュアル ページを参照してください。

残念ながら、私の知る限り、数分ごとに 1 枚の写真を渡す方法はありません。以下の解決策のいずれかをお勧めします。

  • 1 日 1 回、深夜にビデオをコンパイルします。午前1時に受け取ります。
  • ビデオを見る必要がある場合は、1 日に数回ビデオをコンパイルします。毎回ロット全体を処理するため、これは多くの無駄な処理です。
  • ビデオをチャンクごとに (たとえば 2 時間ごとに) コンパイルし、1 日の終わりにすべてのビデオをマージします。

日中ビデオを見る必要がない場合は、最初の解決策が最も簡単です。


以下はマニュアルページからの引用です。

多くの画像からビデオを作成するには:

ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi 構文「foo-%03d.jpeg」は、シーケンス番号を表すためにゼロが埋め込まれた 3 桁からなる 10 進数を使用することを指定します。これは、C の printf 関数でサポートされている構文と同じですが、通常の整数を受け入れる形式のみが適しています。

于 2013-03-21T12:09:12.150 に答える
1

約 1 時間ごとに写真からビデオを作成し、既存のビデオとマージしてみませんか?

ビデオをマージする:

mencoder -oac copy -ovc copy -idx -o daily.avi this_hour.avi

これを 1 時間ごとに行うと、1 日の終わりにdaily.aviはすべての画像がマージされます。

于 2015-04-21T13:00:09.633 に答える