Yalnızca birkaç standart video kare hızı var mı?


11

Modern dijital videoda, bir video dosyası keyfi kare hızıyla işaretlenebilir mi? Yoksa sadece birkaç belirli kare hızı yaygın olarak destekleniyor mu? "Modern" derken Quicktime, VLC, Roku, oyun konsolları, vb.

24 fps, 25 fps, 30 fps, 50 fps ve 60 fps'nin yaygın olarak desteklenen standartlar olduğunu anlıyorum. HandBrake ayrıca 5, 10 ve 15; standart seçenekler nelerdir? İstediğim herhangi bir FPS numarasını kullanabilir miyim? 23.976 ve 29.97 gibi tamsayı olmayan oranlar ne olacak; aslında yazılımlar 24 ve 30'dan farklı mı? Ayrıca H.264 akışlarında "değişken kare hızı" referanslarını görüyorum; bu gerçekten işe yarıyor ve eğer öyleyse ne kullanıyor?

Benim özel sorum, bazı 8mm film taramalarını kodlamanın en iyi yoludur. Kaynak 16 fps, 8mm film standardı. Şu anda 24 fps'ye kadar çıkması için diğer iki kareyi iki katına çıkarıyorum, ancak videoyu neden 16 fps olarak işaretleyemediğimi merak ediyorum. FWIW 15 fps'de Handbrake ile H.264 mp4 dosyaları ürettim ve VLC'de sadece doğru oynatıldıklarını gördüm. Mac Quicktime onları çok hızlı oynadı, muhtemelen 24 fps.

Yanıtlar:


11

Birkaç "standart" kare hızı vardır, ancak o kadar çok olur ki, keyfi kareleri desteklemek, özellikle belirli birçok kareyi desteklemekten daha kolaydır. Bu özellikle VLC gibi yazılım oynatıcılar için geçerlidir.

VARIABLE fps için daha fazla destek var. (VFR, değişken kare hızı). Bu, aynı videodaki kareler arasındaki aralığın sabit olmadığı yerdir. Birçok video kapsayıcı dosya biçimi (Matroska ( .mkv) veya MPEG-4 ( .mp4Apple ile yakından ilişkili .mov) gibi) bir FPS numarası bile değil, bir zaman tabanı (örneğin saniyenin 1 / 30'u) ve ardından her bir kareyi depolar zaman tabanının katı olarak bir zaman damgasına sahiptir. Öyle ki, her bir kare arasındaki aralık bir CFR (sabit kare hızı) videodaki zaman tabanının bir veya küçük tamsayı sayısıdır.

Yinelenen karelere yakın güvenlik kamerası görüntüleri VFR için bariz bir kullanım örneği olacaktır. Hatta, geçici yedeklemeden (inter (p ve b) karelerle) iyi yararlanmayan basit bir video codec bileşeni ile sıkıştırılıyorsa bile moreso. ( ffmpeg -vf mpdecimateyakın çift kareleri bırakmak için oynayın . mp4'e çıktı -vsync 2alıyorsanız kullanın , çünkü bir nedenden dolayı bu muxer için varsayılan değildir, ancak mkv içindir.)

Başka bir durum modern akıllı telefonlar. Örneğin, kardeşimin Moto G (2. nesil) VFR videolarını kaydediyor. Sensörün daha fazla ışığa ihtiyacı olduğunda kare hızını düşürür. Mediainfo'nun telefon yazılımı tarafından oluşturulan ve içeride kaydedilen bir mp4 üzerinde çalıştırılmasından elde edilen çıktılardan bazıları:

Bit rate                                 : 9 999 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Rotation                                 : 90°
Frame rate mode                          : Variable
Frame rate                               : 16.587 fps
Minimum frame rate                       : 14.985 fps
Maximum frame rate                       : 30.030 fps

Tek bir VFR video akışının oynatılması zor değildir. Yazılım bir sonraki kareyi görüntülemeye hazır hale getirir, görüntülenene kadar uyur, sonra uyanır ve görüntüler.

İnsanların video karelerini yalnızca bir monitör görüntülediğinde görebildiğini dikkate aldığınızda işler biraz daha karmaşıklaşır. VFR monitörleri mevcuttur, ancak hala nadirdir. (g-sync freesync için google).

Ekrana taranırken görüntülenen görüntünün değiştirilmesi, videonun çirkin bir şekilde yırtılmasına neden olur (genellikle vsync kapalı bir oyun oynarken görülür). Bu, oynatıcıyı görüntülenen görüntüyü 50 veya 60Hz'de değiştirmeye sınırlar. (CRT'ler, bir aralık içinde keyfi vrefresh oranlarını destekler, ancak tüm zamanlamaların doğru olduğu modları pişirmek karmaşıktır, bu nedenle çoğu insan sadece birkaç sabit yenileme hızı kullandı ve şimdi insanların yine de yalnızca sabit bir yenileme hızını destekleyen LCD'leri var. freesync monitörler zaten daha yaygın. Gerçekten dört gözle bekliyorum. :)

Dolayısıyla, monitör yenileme hızının katı veya faktörü olmayan video kare hızlarında, 3 monitör yenilemesi için bazı kareler, örneğin video sabit bir 25FPS'de olması gerekiyorsa bile, bazıları için 2 kare görüntülenir. (60Hz monitörde).

Birden fazla kliple çalışmak ve aralarında solukluk, resim içinde resim veya diğer çeşitli efektler yapmak istediğinizde işler daha karmaşık hale gelir. Tüm kliplerin aynı anda yeni bir çerçeveye sahip olduğunu varsayabilirseniz, video düzenleme yazılımı yazmak çok daha kolaydır. (Klips hizalamasını tüm karelere yapışmaya zorlar).

Bu nedenle NLE'lerin (rastgele Ücretsiz yazılım örnekleri seçmek için kdenlive veya pitivi gibi), sizi sabit bir FPS'ye zorlama ve bu kare hızıyla eşleşmeleri için kliplerinizden kare bırakma / çoğaltma. Seçtiğiniz CFR keyfi olabilir, ancak genellikle tüm "proje" için sabit olması gerekir.

(Herhangi bir NLE, VFR kliplerle tam olarak çalışır mı ve bu durumda VFR çıkışı üretir mi?)

Özet olarak, değişken senkronize monitörler ve işletim sistemimiz olduğunda, bizi geride tutan tek şey video düzenleme olacaktır. Ve yayıncılık, görünüşe göre CFR bunun için de büyük bir anlaşma mı?

Merak ediyorsanız, 29.970 (aslında 30000/1001) ve 23.976 (aslında 24000/1001, telecining'den) can sıkıcı tamsayı olmayan kare hızları NTSC renginin hatasıdır. 1.001'i arayın . Sadece birkaç B&W setinin ses alt taşıyıcısı için% 0,1 frekans daha fazla işleyememe riskini almak isteselerdi, dünya bu saçmalıktan kurtulmuş olurdu. (Sanırım pek çok setin daha iyi olacağına benzeyen bir yerde başka bir makale gördüm, ama mükemmel uyumdan emin değildiler. Wikipedia hiçbir setin% 0.1 daha yüksek bir ses alt taşıyıcısı tutamayacağı gibi ses çıkarıyor. Gerçekler.)

Rahatsız edici kare hızları, yayıncılığın daha az günahlarından biridir. Gerçekten (bu, tüm pikseller aynı anda aydınlatılan) ekranlarda video kalitesinin sıkıntısıydı ve bu değişmeyecekti. Hala HDTV için neden titreşim tutulduğunu anlamıyorum. Spor ve eşyalar için aynı geçici çözünürlüğü elde etmek için 720p60 kullanmak yerine neden 1080i60 tanımlandı? 1920x540p60'a benzer, ancak korkunç görünmemesi için alıcı uçta çok fazla hesaplama gerektiren tek ve çift alanlar arasında aptal bir dikey ofset ile.

Düzenle:

Kullanım durumunuz için, yerel FPS'de arşivlemeyi kesinlikle öneririm. Kareleri bırakarak hiçbir bilgiyi atmayın. Çerçeveleri çoğaltmayın ve dosyalarınızı daha büyük yapmayın (veya h.264 kodlayıcınızın kopyaları fark etmek ve tüm çerçeve için yalnızca 20 bayt alan atla makro bloklarıyla dolu bir çerçeve çıkarmak için daha fazla zaman harcamasını sağlayın).

Gelecekte, herhangi bir kare hızını çalabilen freesync ekranlara sahip olduğumuzu düşündüğümüzde, videonuzun daha sorunsuz oynatılması için çekmenizi 24 fps'ye geri almak isteyeceksiniz! Veya freesync bir şekilde yakalanmazsa veya LCD'lerden sonra gelen ekran CFR ise, oran dönüşümü muhtemelen en iyi şekilde oynatma zamanında yapılır. 24fps bile 60Hz monitörde mükemmel oynar gibi değil. (Bazı karelerin 3 * 1/60. İçin, bazıları 2 * 1/60. İçin görüntülendiğini görsel olarak fark etmiyorum, ancak bu doğru).

Quicktime ile ilgili sorun yaşıyorsanız IDK. Belki de Handbrake'in h.264 bit akımında ve doğru kapta ayarlanmış dosyaları ve kapta dosya oluşturduğundan emin olun. (Evet, h.264 üstbilgileri konteynerin söylediklerinden ayrı bir kare hızını depolayabilir. Dokümanlara bakın mkvmerge --fix-bitstream-timing-information. Ve --default-duration 16fpsbir mkv dosyası yapmak için ile kullanmayı deneyin . Sonra mp4'e geri mux ve bu hızlı zaman düzeltmek olmadığını görmek? ) Belki de ilk etapta mp4 araçlarıyla yapmanın bir yolu vardır. Örneğin bakınız: /ubuntu/370692/how-to-change-the-framerate-of-a-video-without-reencoding

Rasgele kare hızı mp4'ün geçerli olduğunu ve hatta değişken kare hızı mp4'ün geçerli olduğunu garanti edebilirim. Quicktime yanlış oynarsa, Quicktime'ın hatası olabilir. Veya Handbrake'ın dosyayı yanlış yapma hatası olabilir. Genellikle doğrudan ffmpeg kullanıyorum, çünkü ben bir komut satırı ninjasıyım.


2

Sorunuzu cevaplamak için - evet, genellikle bir video dosyasını istediğiniz kare hızında kodlayabilirsiniz. (Bazı yazılımlar, yazılımı daha basit hale getirmek için sizi sınırlamayı seçebilir.) Soru, seçtiğiniz dağıtım biçimi onu destekleyecek mi ve oynatma cihazı bunu destekleyecek mi?

16 fps'de 8mm filminiz varsa, desteklemek istediğim oynatma cihazlarının üstesinden gelebileceğini bilseydim 16 fps'de kodlardım. Değilse, muhtemelen 24 fps'de kodlamak için optik akışı (bazen hareket tahmini olarak da adlandırılır) destekleyen bir yazılım kullanırım, bu da muhtemelen kodlama yazılımı, kod çözme yazılımı ve çoğu oynatma donanımı tarafından desteklenmesi muhtemel en yakın kare hızıdır.

Optik akışı destekleyen yazılım (veya donanım), videonuzdaki nesnelerin hareketine bağlı olarak aralar arasında kareler oluşturur. Bir kareyi tekrarlamak veya hatta 2 kareyi karıştırmak yerine, çıktı kare hızında kaydettiğinizde genellikle kaydedilene oldukça yakın olan yeni bir kare oluşturur.


Herhangi bir bilgiyi atmaktan kaçınmak veya bir kodek için ekstra iş oluşturmak için herhangi bir çerçeveyi çoğaltmak için yerel kare hızında kodlardım. Ayrıca, gelecekte umuyoruz ki, herhangi bir kare hızını çalabilen freesync ekranlara sahip oluruz. Değilse, oran dönüşümü muhtemelen en iyi oynatma zamanında yapılır, özellikle. arşiv zaman çizelgelerinden bahsediyorsak.
Peter Cordes

2

Tarihe göre 24 FPS kino'dan (filmler) geliyor. Film foto banttaydı ve hareketleri düzgün hale getirmek için hız seçildi.

25 FPS, Avrupa'daki güç frekansından gelir, 50 Hz (50 FPS aynı kaynaktan, ancak aslında iki katına çıkar). Aslında Avrupa'daki televizyon 50 FPS'di, ancak yarım kare, bunlar titreşimli

30 FPS, ABD'deki güç frekansından gelir, 60 Hz (60 FPS aynı kaynaktan, ancak aslında iki katına çıkar). Aslında ABD'de TV 60 FPS idi, ancak yarım kare, titreşimli

16 FPS, profesyonel amaçlar için standart olarak geniş değildir, bu nedenle mevcut yazılımların çoğunda kullanılmamasının nedeni budur. Dahası, bu FPS yeterince hızlı hareketi "düzgünleştirmeyecektir". Nasıl daha iyi maç için 16 FPS yapabilirsiniz bir deli fikrim var 24. Juts her çift ve tek kare almak ve aralarında ortalama gibi bir şey yapmak :)


Yardımın için teşekkür ederim ama soruma cevap vermiyor. 24, 25, 50 ve 60'ın kökenlerinin farkındayım. Sorduğum şey, diğer kare hızlarının çalışması bekleniyorsa.
Nelson

1

Çoğu videonun uyduğu belirlenmiş televizyon ve film video standartları vardır. Bir bilgisayar genellikle birden fazla çerçeveden video görüntüleyebilir, ancak bazı TV'ler daha özel ekran devresi kullanabileceğinden tek top kare hızlarında sorun yaşayabilir. Bilgisayarda bile, gerçekte görüntülenen kare hızı, monitörün desteklenen yenileme hızlarına bağlı olarak video dosyasınınkiyle eşleşmeyebilir.

Evet, tamsayı olmayan kare hızları farklı görüntülenir. Damla çerçevesi olarak bilinir ve öncelikle eski nedenlerden dolayı bulunurlar. Oynatıldığında, zaman farkını telafi etmek için her seferinde bir kare düşürülür (zaman kodundan) ve kareler düzgün tutmak için uygun hızda yayılır. Bu daha çok eski biçimlerdeki senkronizasyon öğeleriyle ilgilidir ve artık alakalı olmayan senkronizasyon sorunlarını önler.

Standart olmayan kare hızlarını kullanabilirsiniz ve PC'lerde iyi oynatılmalıdır, ancak Bluray gibi şeyler için standart videoya uymayabilir ve bazı TV'lerde iyi oynatılamayabilir. (Ve üzerinde çalıştığı kişilerde bile, standart bir kare hızına uymak için gerçek zamanlı olarak aşağı çekilecek ve burada önceden açılan bir açılan menü muhtemelen daha iyi kaliteye neden olacaktır.)


@ user1118321 evet ve daha açık olabileceğini belirttiğiniz için teşekkür ederiz.
AJ Henderson

-1

Sorunuz genel oranlarla ilgili değil, filminizi dijitalleştirmek için hangi oranın kullanılması gerektiğiyle ilgilidir. Cevap: mümkünse orijinal hızı kullanmalısınız, çünkü kaynağı dijital biçimde korumak istiyorsunuz. Ardından, görüntülemek için ihtiyacınız olan kare hızına dönüştürebilirsiniz. Eski zamanlarda genellikle tiyatro sunumu için 24 fps ve video için titreşimli 29.97fps anlamına gelir. Günümüzde neredeyse her şeyi yapabilirsiniz, ancak orijinalle mümkün olduğunca temiz bir şekilde eşleşen iyi bir kaynağa ihtiyacınız var.


Hayır, sorum genel oranlarla ilgiliydi. Ve yıllar önce yeterince cevaplandı.
Nelson

-3

Birkaç not daha. Birincisi, Hobbit ve şimdi YouTube'un kare hızına desteği sayesinde 48 fps daha popüler ve yaygın hale geliyor. İkincisi, 30 fps genellikle 29,97 fps ve 60 genellikle 59,94'tür.


2
Aslında 30 her zaman 29.97 demek değildir. Bazen gerçekten 30'dur. 23 için geçerlidir. 23.98, 24, 29.97, 30, 50, 59.94 ve 60'ın hepsi mükemmel şekilde geçerli, yaygın olarak kullanılan çerçevelerdir. Onlarda ondalık olanlar, çeşitli ülkelerde yayın televizyonu ile uyumlu olmak içindir, ancak intweb'lerde de adil bir oyundur. Bazı video kamera üreticileri ise kendi çerçeveleri hakkında "yalan söylüyorlar". 24p işaretli bir kamera, tüketiciyi hem bantlama sorunlarının başını hem de arkasındaki teknik detayları kurtarmak için 23.98 verebilir.
Jason Conrad

@JasonConrad Kare hızları her zaman yuvarlatılmış ondalık sayılar değildir, ancak çoğu tüketici kamerası için kullanılır.
KC McLaughlin

@KCMcLaughlin - aslında, aşamalı tarama cihazlarında bırakma çerçevesini düşürme ve doğrudan tamsayı kare hızlarına gitme olasılığı giderek artıyor. 29.97 ve 23.976 bu noktada tamamen mirastır ve giderek saf tamsayı kare hızlarıyla değiştirilmektedir.
AJ Henderson

@KCMcLaughlin Color NTSC asla 29.97fps olmadı. Oldu ve hala 30000/1001. Benzer şekilde, NTSC rengine ışınlanan 24p içerik aslında 24000/1001 olacaktır. Ayrıca, dijital kameram (lumix) 30 / 1.001 değil 30 fps kaydediyor. 48 ses örneği için farklı sayıda kare oynatırsam A / V desync olur.
Peter Cordes
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.