私は私が簡単なffmpegスクリプトになるべきだと思います。私は特定のディレクトリ内のすべてのJPGファイルを取り、それらを時間経過ビデオに記入しようとしています。私はすべてのエンコーダのオプションとFFMPEGのそのものに慣れていますが、構文権を得ることはできません。
私が試している行(ええ、私は知っています... "")ディレクトリ内のすべての.jpgイメージを取り、それらを "out.mp4"としてエンコードします。しかし、下部を見ると、私が取得するものは、ディレクトリ内の2番目のファイルであるgopr3974.jpgを上書きするようなプロンプトです。これは、何らかの理由ですべてのファイルを正しく複合していないことを意味しています...私は一重引用符、二重引用符を試してみました
ffmpeg -i GOPR%04d.JPG out.mp4
_
そのため、どこかに何かがある必要があります。それが重要な場合、これはBashを使ってCygwin環境で実行されています...
[lwobker:/dtop/hack]$ /usr/local/bin/ffmpeg.exe -i GOPR*.JPG out.mp4
ffmpeg version N-64919-ga613257 Copyright (c) 2000-2014 the FFmpeg developers
built on Jul 23 2014 00:35:22 with gcc 4.8.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme
--enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink
--enable-zlib
libavutil 52. 92.101 / 52. 92.101
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.101 / 55. 48.101
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.102 / 4. 11.102
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, image2, from 'GOPR3973.JPG':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg), 1920x1440 [SAR 72:72 DAR
4:3], 25 tbr, 25 tbn, 25 tbc
File 'GOPR3974.JPG' already exists. Overwrite ? [y/N]
_
あなたの最初のイメージが呼び出された場合、あなたが本当に必要なのはGOPR0001.JPG
と呼ばれているのです。
ffmpeg.exe -i "GOPR%04d.JPG" -pix_fmt yuv420p out.mp4
または最初のイメージがGOPR3973.JPG
と呼ばれている場合は、ffmpegをffmpegを探す必要があります。
ffmpeg.exe -start_number 3973 -i "GOPR%04d.JPG" -pix_fmt yuv420p out.mp4
FFMPEGバージョンがグロビングのサポートがある場合(Windowsがビルドがありません。
ffmpeg.exe -pattern_type glob -i "GOPR*.JPG" -pix_fmt yuv420p out.mp4
これは、開始番号がわからないか、単に正確なコントロールを気にしない場合に推奨されます。
ffmpeg.exe -i GOPR*.JPG out.mp4
これは、このようなものに拡張されるため、機能しません(最初のイメージをGOPR0001.JPG
と呼ばれていると仮定)。
ffmpeg.exe -i GOPR0001.JPG GOPR0002.JPG … out.mp4
FFMPEGは、出力ファイル名として、最後の名前の引数オプションを(すなわち、先頭の-
)を出力ファイル名として扱われるので、GOPR2.JPG
が出力され、out.mp4
が適用されないまでは何でも。
-pix_fmt yuv420p
は、JPEGのYUV 4:2:2カラースペースから4:2のサブサンプリングに変換するために必要です。それ以外の場合は、(ほとんどのFFMPEGベースの)プレイヤーがビデオを表示できなくなります。
-crf 23
オプションを設定し、18から28の間で何かを選択することによって品質を制御します。
入力フレーム(画像)がキャプチャされた状態に従って、フレームレートを設定することをお勧めします。 ffmpeg.exe -framerate 30 -start_number …
を実行してこれを行います。フレームレートを指定しないと、FFMPEGはあなたの元のフレームが25 Hzで記録されたと仮定します。
image2
デルセル マニュアルの一部を読んでください。
パターンのシェルの拡張を防ぐために、二重引用符は常に使用するのに適しています。