Ondalık joker ile ffmpeg kullanma


3

Aşağıdaki adlandırma düzeninin PNG görüntülerini içeren bir klasörüm var:

IMG_0423.png
IMG_0424.png
...
IMG_0509.png

Bu görüntülerden bir MP4 filmi çekmek istiyorum ancak bir hata mesajı alıyorum. ffmpeg bu görüntüleri bulamıyorum:

$ ffmpeg -i IMG_%04d.png -vf "setpts=6*PTS" ../foo.mp4
ffmpeg version 0.7.13, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 22 2012 12:45:08 with clang 4.1 ((tags/Apple/clang-421.11.65))
  configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libvpx --enable-libspeex --disable-libopencore-amrnb --disable-libopencore-amrwb --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
./IMG_%04d.png: No such file or directory

Bu adlandırma şemasını kullanmayla ilgili kaçırdığım bir şey var mı? ffmpeg? Tavsiyen için teşekkürler.

DÜZENLE

Çıktıyı yalnızca ilk karede sonuçlanan değiştirilmiş bir komut çalıştırmaya ekliyorum:

Papillion:png alexpreynolds$ ../ffmpeg -start_number 423 -i "IMG_%04d.png" ../foo.mp4
ffmpeg version N-48159-g1501475-tessus Copyright (c) 2000-2012 the FFmpeg developers
  built on Dec 21 2012 22:22:28 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
  configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --disable-ffserver --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-fontconfig --enable-libfreetype --enable-libass --enable-filters --enable-runtime-cpudetect
  libavutil      52. 12.100 / 52. 12.100
  libavcodec     54. 81.100 / 54. 81.100
  libavformat    54. 49.102 / 54. 49.102
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 29.100 /  3. 29.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, image2, from 'IMG_%04d.png':
  Duration: 00:00:00.16, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgba, 640x480 [SAR 2835:2835 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc
File '../foo.mp4' already exists. Overwrite ? [y/N] y
using SAR=1/1
[libx264 @ 0x10202da00] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x10202da00] profile High, level 3.0
[libx264 @ 0x10202da00] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '../foo.mp4':
  Metadata:
    encoder         : Lavf54.49.102
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png -> libx264)
Press [q] to stop, [?] for help
frame=    4 fps=0.0 q=-2.0 Lsize=      54kB time=00:00:00.08 bitrate=5520.7kbits/s    
video:53kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.554395%
[libx264 @ 0x10202da00] frame I:1     Avg QP:26.72  size: 53541
[libx264 @ 0x10202da00] frame P:1     Avg QP:27.18  size:    27
[libx264 @ 0x10202da00] frame B:2     Avg QP:26.83  size:    40
[libx264 @ 0x10202da00] consecutive B-frames: 25.0%  0.0% 75.0%  0.0%
[libx264 @ 0x10202da00] mb I  I16..4:  3.3% 49.4% 47.2%
[libx264 @ 0x10202da00] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip:99.8%
[libx264 @ 0x10202da00] mb B  I16..4:  0.1%  0.0%  0.0%  B16..8:  1.0%  0.0%  0.0%  direct: 0.0%  skip:98.9%  L0: 5.2% L1:94.8% BI: 0.0%
[libx264 @ 0x10202da00] 8x8 transform intra:49.3% inter:100.0%
[libx264 @ 0x10202da00] coded y,uvDC,uvAC intra: 90.0% 91.1% 75.6% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x10202da00] i16 v,h,dc,p: 14% 21% 12% 52%
[libx264 @ 0x10202da00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 20% 15%  6%  8%  7%  9%  7% 12%
[libx264 @ 0x10202da00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 22% 13%  7%  8%  9%  8%  6%  9%
[libx264 @ 0x10202da00] i8c dc,h,v,p: 53% 23% 15% 10%
[libx264 @ 0x10202da00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x10202da00] kb/s:2682.40

Yanıtlar:


3

Farz ediyorum IMG_0423.png senin ilk görüntün. Resimlerinizde "1" ile başlamıyorsanız, birkaç seçeneğiniz vardır (yeniden adlandırmayı yok sayarak) IMG_0001.png davan için.

kullanım -start_number

Kullanabilirsiniz -start_number hangi dosyanın sıraya başlaması gerektiğini bildiren girdi seçeneği:

ffmpeg -start_number 423 -i IMG_%04d.png … output

Küre desen

Başka bir seçenek de bir glob deseni kullanmaktır:

ffmpeg -pattern_type glob -i "IMG_*.png" … output

Kullanarak cat

Görüntüleri için boru olabilir ffmpeg üzerinden cat.

cat *.png | ffmpeg -f image2pipe -c:v png -i - … output

Daha yeni bir kullanmak zorunda kalabileceğinizi unutmayın. ffmpeg Tüm bu örneklerin çalışması için. Bakın FFmpeg İndir Linux, OS X ve Windows için derlemeler için linkler sayfası.


Yeni bir statik yapı denedim, ancak çıktı yalnızca ilk kareyi gösteriyor. Yine de, yaklaşımına yaklaşıyorum, teşekkürler.
Alex Reynolds

@AlexReynolds Sorunuzu ffmpeg komutunuzdan çıkan tam ffmpeg konsol çıktısıyla güncelleyebilir misiniz? Çıktı olmadan neler olup bittiğini söylemek zor.
llogan

Sorumu, çalıştırdığım komutu çıktı ile birlikte dahil etmek için düzenledim.
Alex Reynolds

@AlexReynolds Numaralandırmada bir mola var mı? Listelediğim diğer yöntemleri denediniz mi? Çıktının bir örneğini sağlayabilir misiniz?
llogan

Ara yok. Glob ile aynı sonuç. Denemedi cat. Dizüstü bilgisayarımı yeniden aldığımda, film dosyasını bir süre sonra Dropbox'a yüklemeyi deneyeceğim.
Alex Reynolds
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.