Saya punya beberapa gambar dan saya ingin membuat animasi gif dengan ffmpeg. Gambar memiliki nama sebagai:
837_1.png
838_1.png
...
Saya mencoba untuk memahami opsi baris perintah -i dari ffmpeg tapi saya mengalami beberapa masalah.
Jika saya tidak menentukan apa-apa itu meminta saya untuk mengganti file:
ffmpeg -i * -vcodec libx264 out.mp4
ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 26 2013 20:18:03 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, image2, from '358_1.png':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgb24, 550x550, 25 tbr, 25 tbn, 25 tbc
File '359_1.png' already exists. Overwrite ? [y/N]
Dan jika saya mencoba menggunakan salah satu format yang paling sering digunakan (% d) di internet .. ffmpeg tidak menemukan file:
fmpeg -i '%3d_1.png' -vcodec libx264 out.mp4
ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 26 2013 20:18:03 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[image2 @ 0x7f963a006600] Could find no file with with path '%3d_1.png' and index in the range 0-4
%3d_1.png: No such file or directory
Jadi .. ini pertanyaannya, bagaimana cara menggunakan opsi baris perintah -i dengan ffmpg?
Demi kejelasan, saya menggunakan Mac OSX 10.8, ffmpeg versi 1.2.1, zsh 4.3.11
image2
gagal mengenali bahwa200 OK
itu setara dengan "file ditemukan" sehingga tidak berhenti mencari.DSCxxxxx.jpg
manaxxxxx
adalah nomor 5-digit awal dengan nol (catatan saya tidak garis bawah). Namun, setelah menjalankanffmpeg -r 30 -start_number 04606 -i DSC%d.jpg out.mp4
saya mendapatkan kesalahan yang sama seperti pada posting asli di atasGlobbing dapat diaktifkan dengan menentukan
-pattern_type glob
opsi:sumber
xxx%d.png
,xxx%3d.png
,'xxx%d.png'
atau'xxx%3d.png'
hal kerja[image2 @ 0x2552560] Could find no file with path '*.jpg' and index in the range 0-4 *.jpg: No such file or directory
Catatan: Pola globbing tidak berfungsi di Windows (dan mungkin tidak pernah karena kurangnya dukungan untuk globbing di libavfilter di Windows.) Jadi, jika Anda melakukan ini di Windows, Anda harus mengganti nama file sehingga diberi nomor urut sehingga berurutan dan tanpa celah.
Anda dapat mengubah nama mereka dengan baris perintah Powershell sederhana:
sumber
file1.jpg
file2.jpg
...file10.jpg
yang jika Anda mengurutkan secara abjad akan berakhirfile1.jpg
,file10.jpg
...file2.jpg
cara yang lebih baik untuk mengganti nama dengan PowerShell (simpan pesanan):
sumber
dir
selalu mengembalikan file yang diurutkan berdasarkan abjad? Apakah lebih aman untuk menambahkansort-object
ke dalam campuran?