YouTube yüklemelerimi nasıl kodlar ve yüklemek için hangi kodeği kullanmalıyım?


25

İlgili Kodlayıcılar / formatlar youtube için tam hareketli video kaydı için uygun mu? Youtube’un videolarımı nasıl ele almasını bekleyebileceğimi merak ediyorum. Yüklememin farklı kopyalarında birden fazla kopyasını oluşturan oldukça kıskanç bir işlem kurulumları olduğunu biliyorum; 1080p, 720p ve 480p ve görünüşte en azından mobil bir tane.

Hangi codec bileşenlerini kullanıyorlar? Bir üretici olarak dosyayı MP4 olarak indirme seçeneğim var; ancak üçüncü taraf indiricisinin (son derece gölgeli ve berbat olan) dosyaları FLV olarak indirdiğini unutmayın. Temel olarak codec bileşenimin H.264 ile korunacak mı, üzerine yazılacağını mı yoksa ne kullanacaklarını merak ediyorum. Cihazlar arasındaki şaşırtıcı uyumluluğunu göz önünde bulundurarak, her video için çok ortak bir standart veya çoklu kodek kullandıklarını düşünüyorum.

Öyleyse videolarımın hangi kodeki çıkmasını bekleyebilirim ve eğer değişirse, neye bağlı? Youtube'un kodekiyle kendi kodlamamı "iyi oynamak" için ayarlamalı mıyım, yoksa kalite açısından önemli mi? Youtube’a hemen hemen her şeyi atabileceğimi biliyorum ve bunu alacak, bu yüzden çoğunlukla video kalitesiyle ilgileniyorum.


Bir video için mevcut biçimleri görmek için bir araç: h3xed.com/web-and-internet/…
akostadinov

Yanıtlar:


31

Kullanılan formatlar hakkında bazı genel bilgiler:

YouTube, 4 kap formatı ve 4 farklı kodek kullanır. Videonun popülaritesine bağlı olarak, videonuz için hangi codec bileşenlerinin kullanıldığı (aşağıya bakınız). Genel olarak, yüklediğiniz videoların her biri h.264'te kodlanacak ve bir .flv ve .mp4 konteynerine karıştırılacaktır. Bu standart ve bu her video için olacak. Olsa da .flv sadece 720p'nin altındaki çözünürlüklerde kullanılacak. Yani sadece 360p ve 480p bir .flv kabında bulunacaktır. Her ne kadar 720p altındaki her videoda bir mp4 sürümü de olacak. YouTube, 240p için, mobil cihazlar için (akıllı telefon çağından çok önce) amaçlanan oldukça eski bir codec bileşeni olan (MPEG-4 Part 2'ye dayanan (MPEG4 Part 10 aka h.264 ile karıştırılmaması gereken)) 3gp kullanıyor. konteyner .3gpp.

Kullanılan diğer codec, WebM konteyner biçiminde gelen VP8'dir. WebM, Google tarafından geliştirilen bir formattır ve HTML5 için standart bir video codec bileşeni olarak tanımlanmıştır, bunun için destek, modern tarayıcıların çoğunda oldukça iyidir. WebM, YouTube’un HTML5 sürümüyle tanıtıldı. YouTube, bazı videoları yalnızca yüklendikten sonra WebM’de kodlar ve çoğunlukla popüler videolar (WebM’de kodlanmış gördüğüm videolara göre) bu nedenle videonuzun WebM’de görüneceğinden emin değildir. Bu WebM ile değişiyor olsa da, biraz daha destek alıyoruz.

YouTube şu ana kadar WebM'de VP9'u destekliyor ancak şu ana kadar yalnızca chrome bu codec'i destekliyor (06/2015 itibariyle). VP9 ile, Opus ses kodeğini de desteklediler (diğer tüm konteynerlerde kullanılan AAC dışında).

Bağlantılı sorunuzla ilgili olarak (belki birleştirilmeleri gerekir?)

Yüklemek için hangi codec / container'ı kullanmalısınız?

Bu, eğer yükleme hızınızla sınırlıysanız / endişeliyseniz, s.264 Seviye 3.1 / 4.1'i SD için Ana Profil ile veya HD için Yüksek Profil ile kullanın. YouTube bunu iyi kabul edecek ve YouTube sunucuları tarafından kodlandıktan sonra iyi görünecek. Genellikle 720p malzeme için ~ 4-5 Mbit / s ve 1080p için ~ 8-9 Mbit / s bit hızı öneririm. 4k için ~ 15Mbit / s gidin. Bu genellikle boyut ve kalite arasında iyi bir dengedir. Daha iyi kalite istiyorsanız daha yüksek bir bit hızı ile gidin ve daha küçük bir video istiyorsanız daha düşük bir bit hızı ile gidin.

Ancak YouTube’un yüklendikten sonra HER ZAMAN videonuzu kodlayacağını unutmayın, hangi kodlayıcı ve ayarları kullandığınız önemli değil. Dolayısıyla, yüklemeleriniz için teorik olarak en iyi kaliteyi istiyorsanız, yüklemek için kayıpsız bir kodlayıcı seçin veya en azından görsel olarak kayıpsız kullanın. Bir teslimat / tüketici biçiminde son çıktı olarak YouTube'u görün ve YouTube'a yükleme, üretimde ve üretim sırasında kayıpsız kalmak istediğiniz son adımdır. Ancak, bunların hepsinin teorik bir şey olduğunu lütfen unutmayın, pratikte TV yayını veya Sinema hakkında değil, YouTube hakkında konuştuğumuz gibi gerçekten önemli olmadığını söyleyebilirim.

Ancak bunu gerçekten "mükemmel" bir şekilde yapmak istiyorsanız, bir üretim kod çözücüsü kullanın, h.264 gibi bir tüketici kod çözücüsü kullanmayın. MJPEG bunun için iyi bir codec olurdu, YouTube bunu kesinlikle bir .avi veya .mov kabında destekliyor. MJPEG kayıplı bir codec bileşenidir ancak görsel kalite kaynakla aynı olacaktır (eğer yeterince yüksek bir kalite ayarı seçtiyseniz, bu video codec bileşeni olarak JPEG formatındadır). Gerçekten kayıpsız bir kodekle devam etmek bence sabit disk alanı ve bant genişliği israfı olacak.

Ancak, videonuzu gerçekten kayıpsız yüklemek istiyorsanız ve yükleme süresini umursamıyorsanız, hepsinin YouTube tarafından desteklenmesi gerektiği için standart bir QuickTime codec bileşeni kullanmanızı öneririm (hepsinin kayıpsız olmadığını unutmayın, h264 de bir standart QuickTime kodeği). YouTube ne yazık ki hangi QuickTime kodeğinin desteklendiğini belirtmese de. Animasyon veya JPEG2000 çalışmalı sanırım. Her iki kodek% 100 kayıpsız olabilir.

Kare hızları söz konusu olduğunda, kayıt / animasyon sırasında 25FPS (o zamana kadar YouTube 50 ve 60FPS video, bu nedenle muhtemelen 30FPS'yi de destekler) seçeneğini kullanabilirseniz, YouTube en çok (her video için kullanılan kare hızı) çekimleriniz zaten başka bir kare hızındaysa, o zaman buna bağlı kalın ve yukarı veya aşağı enterpolasyon yapmayın. YouTube bu dönüşümü sizin için gerçekleştirir ve genellikle bunu kodlayıcınızdan daha iyi yapar. Her gün her çeşit kare ile uğraşmak zorunda kalıyorlar ve bu (aslında çok karmaşık) sorunu gerçekten iyi çözüyorlardı.

Ses:

Ses için PCM'yi sesle de kayıpsız kalmak istiyorsanız, ancak yine de bu teorik bir kalite iyileştirmesidir. AAC genellikle aynı işi kalitesini akıllıca yapar (öznel) ve daha küçük olacaktır. AAC için en az 192 kbps bit hızı öneririm. Boyut etkisi genellikle video codec bileşeni kadar büyük değil, bu yüzden sadece 320kbps ile gidebilirsiniz. YouTube, AAC ve Opus (yalnızca WebM) kod çözücüsünü kullanarak sesi ~ 24kbps (Mobil aka 3gp) ~ 64kbps (240p), ~ 128kbps (360p / 480p) ve ~ 192kbps (720p +) değerlerine dönüştürür.


3
Bu cevabı kabul ediyorum. Ancak pratik bir sınır var: yükleme hızı. Yüklemeye ne kadar zaman veriyorsunuz? Çalışma gününüzün sonuna kadar bütün bir hafta sonu, bir gece veya birkaç saat. Ben kendimde bu durumda 4 saatlik yükleme süresi gerektiren 10 dakikalık video için 2 GB sınırını koydum. Fakat bu gerçekten kaliteyi kısıtlıyor mu? 2 GB videomda, YouTube'un 3 Mbit / s'ye dönüştürdüğü bit hızı 30 Mbit / s'dir. Kayıpsız bir kodlama yükleme süresini çoğaltacaktır, ancak YouTube çıktısı hala 3 Mbit / s'de olacaktır. Lütfen kişisel sınırlarınızı kendiniz belirleyin.
Fred42vid

Tabii bu yüzden (umarım) teorik olarak ve hiçbir şekilde pratik olmadığını açıkça ortaya koydum. H.264 hemen hemen tüm durumlar için önerilmelidir. MJPEG için düşünebildiğim tek gerçek pratik kullanım alanı, YouTube’un ikinci kodlamasıyla daha da kötüleşecek olan ilk h.264 kodlamasıyla renk bantlarının ortaya çıkmasıdır.
PTS

1
Youtube desteği h.264 yüksek profilli, bu yüzden her zaman kullanmalısın. SD içeriği için ana profil aptalca. 8x8dct'den çıkmak her zaman kötü bir fikirdir. X264'te, 8x8dct'yi etkinleştirmek, dosya boyutu başına daha iyi kalite için CPU süresinin en verimli kazanımıdır (aka oranı: bozulma veya RD).
Peter Cordes,

2
H.264, MJPEG ile aynı bit hızında daha iyi görünecek. Daha iyi kalite istiyorsanız, sadece bit hızını artırın (veya hedef bit hızı yerine sabit kalitede kalite ayarını yapın). Çok büyük bir dosya yüklemeyi düşünmüyorsanız kayıpsız h.264'e kadar gidebilirsiniz. Muhtemelen kayıpsız j2k'den daha küçük olacaktır. Her ikisi de mükemmel bir kaliteye sahip, çünkü kayıpsız demek bu.
Peter Cordes,

1
Ses için, youtube FLAC destekliyorsa veya desteklemiyorsa IDK. Öyleyse, kayıpsız seçiminiz bu olacaktır. Aksi takdirde, evet, iyi bir kodlayıcı ile yapılan yüksek bitrate AAC. ( -c:a libfdk-aac, faacffmpeg'deki varsayılan veya yerleşik aackodlayıcılar değil .)
Peter Cordes

5

YT'nin videolarının çıkış biçimi, çeşitli faktörlere bağlıdır. Sıradan videoların çoğu için MP4 ve FLV konteyner dosyaları biçiminde video için H264 kodlu akışlar kullanır (ses için AAC veya MP3).

Bunlar sadece kodlanmış video verilerini tutan kaplardır - H264 kodlu format, FLV dosyalarında (ya da teorik olarak MP4 dosyalarında) aynı zamanda Sorenson Spark, On2 VP6 ve diğerlerini de tutabildikleri için (özellikle eski videolarda olduğu gibi) bir garanti değildir. ).

FLV'ler, Flash player ile oynatılabildiğinin garantisi olduğundan kullanılır.

Biçimi belirlemek gerçekten indirici yazılımında değildir - seçenekleri belirlemek için yalnızca itag"dahili" video URL'sini (tarayıcıdaki değil) kullanarak kullanılabilir olanı indirirler. İsteğe bağlı olarak videoyu dönüştürürlerse, bu bir özellik olur, ancak YT formatlarıyla ilişkili değildir.

3GP, WEBM gibi 3D formatlarında bunlara ek olarak başka formatlar da var. Bazıları telefonları ve doğrudan html ile (flash-player olmadan) oynatabilecek yeni Html5 standardını (konuşulan gibi uygulanmaktadır) hedefler.

Ancak en yaygın formatlara geri dönelim: Kalite açısından gerçekten önemli değil. FLV H264 içeriyorsa, bunu f.ex VideoLAN'ın VLC Oynatıcılı bir MP4 konteyner dosyası kadar iyi oynatabilirsiniz . FLV H264 içermiyorsa ve H264'ü tutan MP4 konteyner olarak istiyorsanız, yeniden kodlamanız gerekir, bu da kaliteyi kaybedeceğiniz anlamına gelir.

YT şu anda H264'ü tercih ediyor gibi göründüğü için, bu formatta da yüklemeyi öneriyorum (en iyi çözünürlük için yeniden kodlamayı önlemek için boyutlar ve bit oranları hakkındaki bilgilere bakınız).



0

Sorunuz "YouTube yüklemelerimi nasıl kodlar ve yüklemek için hangi kodlayıcıyı kullanmalıyım?"

Sorunuzun daha derine inerek şunu görüyorum: "Youtube'un kodekiyle kendi kodlamamı" iyi oynamak "için ayarlamalı mıyım, yoksa kalite açısından önemli mi? Youtube'a hemen hemen her şeyi atabileceğimi biliyorum, Çoğunlukla video kalitesiyle ilgileniyorum. "

Cevap YouTube’un yeni Videolar kodlamak için Lavf57.25.100’ü kullanmasıdır. Birkaç yıldan daha uzun olan videolar özel bir Kodlayıcı ile kodlanmış (bu kodun içinde "Lavf57.25.100" bulunmuyor ancak bunun yerine bu cümle var: "IsoMedia File Produced Google, 5-11-2011 "). Eski videolar Algoritma değiştirilirken yeniden kodlanmadı.

Birçok farklı Kodek kullanmak kabul edilebilir, YouTube H.264'ü tavsiye eder - buraya bakın: https://support.google.com/youtube/answer/1722171?hl=tr .

Bazı nedenlerden dolayı, Konteyner hakkında soru sormamayı tercih edersiniz (bu bir Codec ile aynı şey değildir). Ayrıca 1080P'nin kullanılabileceğini ve en önemli şeyi sormadığını varsayıyorsunuz - Bitrate (ardından Çözünürlük).

60FPS'de bir 1080P Çözünürlük Videosu yüklerseniz, mevcut maksimum Çözünürlük 720P'dir (60 FPS'de, 1080P kapasitesine sahip bir Mobil Cihazda), bir 1080P Video'yu 29.97 FPS'de yüklemek, bir Mobil Aygıtta 1080P görüntülemeye izin verir.

Önemli olan, "kalite" hedefiniz ise Bitrate ve Resolution. YouTube, Videonuzu minimum bozulma ile ne kadar ezebileceklerini belirlemek için bir 'Sıkıştırma Testi' uyguladığından hile yapamaz veya kayıpsız kullanamazsınız - mantar yükleyin ve yüksek oranda sıkıştırılmış mantar, yüksek Çözünürlük ve yüksek Bitrate, ardından YouTube ezilmeye başlayacak ve daha iyi bir görüntüleme deneyimi sunacak.

Bkz . Https://support.google.com/youtube/answer/1722171?hl=tr

Farklı Kararlar ve 'Kalite Beklentileri' olduğuna dikkat edin. Beklentileri düşük olan 4K Video için, Bit Hızı 35-45 Mb / sn olan Videolar yükleyebilirsiniz, ancak bir "Üretici" iseniz ve kaliteniz hedefinizse, daha yüksek bir Framerate'e ve en az 66-85 Mb / sn kullanmanız gerekir. Camera Bitrate (çok hafifçe sıkmadan önce).

Düşük Çözünürlüklü bir Videoyu yükseltirseniz ve mümkün olan en iyi kaliteyi elde etmek için sıkıştırılmamış bir Codec kullanıyorsanız, yakalanırsınız (ve mantarı düşürürsünüz).

En iyi sonuçları elde etmek için çok nazikçe sıkıştırılmış (Ffmpeg Q = <10) bir Üretim Kalitesi Kamerası, yüksek Kare Hızı ve Bit Hızı Videosu kullanarak kayıt yapın - "Codec" (sözleriniz) tek belirleyici faktör değil eski bir tane).

Ffmpeg .MP4 Konteynerleri ve H.264 Codec'i destekler, bu nedenle bunları kullanın.

İnsanlar YouTube’un Videolar’ı mahvetmelerinden sık sık şikayet ederler; sorun, ilk önce switch geçiş’e geçmeyi ’sağlayan ve YouTube’un Kompresör’ünün Yüklemenize dikkatlice basması için yeterince yüksek kalite yüklememeleridir. Piksel peeking mükemmel Videolar mümkündür. GIGO Kuralı geçerlidir.

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.