2010-10-12 13 views
16

Bunu, this related thread altındaki yorumlar olarak yayınladım. videomu kaydederken Ancak, onlar .bmp dosyaları olarak saklanır çerçeveler halinde myfile.avi bölmek içinffmpeg avi, bilinen kare hızına sahip karelere bölünmüş

ffmpeg -i myfile.avi -f image2 image-%05d.bmp 

kullandım (

= farkedilmeden gitmiş gibi görünüyor. Bu oldukça dışında çalışmak gibiydi. Ben kaydedildi 1000fps oranında ve video uzun 2min29sec olduğu ortaya çıktı. benim matematik doğru ise, o bütün video için 149.000 kare toplam tutarı gerekir. Ancak, ben

ffmpeg -i myfile.avi -f image2 image-%05d.bmp 
bitince 210

Yalnızca 4472 dosya aldım. Orijinal 149k çerçevelerini nasıl alabilirim?

Ben de

ffmpeg -i myfile.avi -r 1000 otherfile.avi 

yaparak 1000fps benim orijinal AVI kare hızını dönüştürmek için çalıştı ama bu benim endişe düzeltmek için görünmüyordu.

cevap

31
ffmpeg -i myfile.avi -r 1000 -f image2 image-%07d.png 

150k bmp dosyaları çıktılarının iyi bir fikir olacağından emin değilim. Belki de png yeterince iyi mi?

+0

Bu benim video için çalıştım kalem kameramın kaydedildi – silberbaum

11

Matematiğinizin bir kısmı iyidir, 2 dakika ve 29 saniye yaklaşık 149 saniyedir. 149000 kare yapan 1000 fps ile. Ancak, çıkış dosya adınız yalnızca 149000'in 6 pozisyona sahip olduğu sayı için 5 pozisyona sahiptir, bu yüzden "image-% 06d.bmp" yi deneyin.

Daha sonra disk boyutu var: Görüntüleriniz diske sığmıyor mu? Bmp ile her görüntü kendi büyüklüğünü kullanır. Jpeg resimlerini kullanmayı deneyebilirsiniz, yaklaşık 10 kat daha iyi sıkıştırırlar.

Başka bir fikir: Eğer ffmpeg (makul) bir kare hızı bulamazsa, saniyede 25 veya 30 kareye düşer. Bunu belirtmeniz gerekebilir. Ne olursa olsun için

To force the frame rate of the input file (valid for raw formats 
    only) to 1 fps and the frame rate of the output file to 24 fps: 
      ffmpeg -r 1 -i input.m2v -r 24 output.avi 

: böylece kaynak ve hedef her ikisi için, man sayfası (UNix man ffmpeg) görüyor musunuz Sinemaya videomu bölmek için ffmpeg -y -i "video.mpg" -sameq "video.%04d.jpg" kullanın. -Sameq, jpeg'i makul bir kaliteye zorlamak, -y'nin üzerine yazmaktan kaçınmaktır. Için size:

1000 -i "myfile.avi" -sameq "görüntü% 06d.jpg." Bence

+0

-sameq şimdi kullanımdan kaldırıldı –

0

, burada bir yanlış anlaşılma var -r ffmpeg -y: Bir HS video sisteminin çıktısı 1000 kare/sn'lik bir çıkış kare hızına sahip olmak olası değildir ancak 30 (veya 50/60) fps gibi normal bir şey. Çoğu video oynatıcısını bu tür bir hızla aşırı yüklemenin yanı sıra, diziyi, kaydedildiği gibi aynı hızda göstermek tersinir. Temel olarak: 1 sn @ 1000 fps girişi 33 sn @ 30 fps çıkışı gibi bir şeydir.

Sahnenin süresi gerçekten 2:29 dk (normal hızda ~ 82 dk. Bir videoyla sonuçlandı) kaydedildi mi, yoksa normal çalmada 2:29 dakika olan yaklaşık 4,5 sn (4472 çerçeve) aldı mı?