Wie codiert YouTube meine Uploads und welchen Codec sollte ich zum Hochladen verwenden?

Bezogen auf Welche Codecs/Formate eignen sich für Full-Motion-Videoaufnahmen für YouTube? Ich frage mich genau, wie ich erwarten kann, dass Youtube mit meinen Videos umgeht. Ich weiß, dass sie eine ziemlich eifrige Verarbeitung eingerichtet haben, die mehrere Kopien meines Uploads mit unterschiedlichen Auflösungen erstellt; 1080p, 720p und 480p und anscheinend zumindest ein mobiles.

Welche Codecs verwenden sie? Als Produzent habe ich die Möglichkeit, die Datei als MP4 herunterzuladen; Ich stelle jedoch fest, dass ein Downloader eines Drittanbieters (der extrem zwielichtig und beschissen ist) die Dateien als FLV herunterlädt. Ich frage mich im Grunde, ob mein Codec mit H.264 oder was auch immer sie verwenden, erhalten oder überschrieben wird. In Anbetracht ihrer erstaunlichen Kompatibilität zwischen Geräten gehe ich davon aus, dass sie entweder einen sehr verbreiteten Standard oder mehrere Codecs für jedes Video verwenden.

In welchem ​​Codec kann ich also erwarten, dass meine Videos ausgegeben werden, und wenn es darauf ankommt, wovon hängt es ab? Sollte ich meine eigene Codierung so anpassen, dass sie mit dem Codec von Youtube "gut spielt", oder spielt es eine Rolle, was die Qualität betrifft? Ich weiß, dass ich so ziemlich alles auf Youtube werfen kann und es wird es dauern, also mache ich mir hauptsächlich Sorgen um die Videoqualität.

Hier ist ein Tool, um verfügbare Formate für ein Video anzuzeigen: h3xed.com/web-and-internet/…

Antworten (4)

Einige allgemeine Informationen zu den verwendeten Formaten:

YouTube verwendet 4 Containerformate und 4 verschiedene Codecs. Es hängt von der Popularität des Videos ab, welche Codecs für Ihr Video verwendet werden (siehe unten, warum). Im Allgemeinen wird jedes Ihrer hochgeladenen Videos in h.264 codiert und in einen .flv- und .mp4-Container gemuxt. Das ist der Standard und das wird für jedes Video passieren. Allerdings wird .flv nur für Auflösungen unter 720p verwendet. Das bedeutet, dass in einem .flv-Container nur 360p und 480p vorhanden sind. Obwohl für jedes Video unter 720p auch eine mp4-Version verfügbar sein wird. Für 240p verwendet YouTube auch 3gp, einen ziemlich alten Codec (basierend auf MPEG-4 Part 2 (nicht zu verwechseln mit MPEG4 Part 10 alias h.264), der für mobile Geräte (lange vor der Smartphone-Ära) gedacht ist der Container .3gpp.

Der andere verwendete Codec ist VP8, der im WebM-Containerformat vorliegt. WebM ist ein von Google entwickeltes Format und war als Standard-Video-Codec für HTML5 gedacht, die Unterstützung dafür ist mittlerweile in den meisten modernen Browsern ziemlich gut. WebM wurde mit der HTML5-Version von YouTube eingeführt. YouTube codiert nur einige Videos in WebM, nachdem sie hochgeladen wurden, und meistens nur beliebte Videos (nach den Videos, die ich in WebM codiert gesehen habe), sodass es nicht sicher ist, dass Ihr Video in WebM vorhanden ist. Dies ändert sich jedoch, da WebM mehr Unterstützung erhält.

YouTube unterstützt auch VP8/VP9 im WebM-Container. Dies wird seit einigen Jahren von allen gängigen Browsern unterstützt. Mit WebM haben sie auch die Unterstützung für den Audio-Codec Opus eingeführt (neben AAC, der in allen anderen Containern verwendet wird).

In Bezug auf Ihre verknüpfte Frage (vielleicht sollten sie zusammengeführt werden?)

Welchen Codec/Container sollten Sie zum Hochladen verwenden?

Das hängt davon ab, ob Sie durch Ihre Upload-Geschwindigkeit eingeschränkt/besorgt sind, dann verwenden Sie h.264 Level 3.1/4.1 mit Main Profile für SD oder High Profile für HD. YouTube wird dies problemlos akzeptieren und es wird gut aussehen, nachdem es von den YouTube-Servern codiert wurde. Ich würde normalerweise eine Bitrate von ~4-5 Mbit/s für 720p-Material und ~8-9 Mbit/s für 1080p-Material empfehlen. Wählen Sie für 4k etwa 15-25 Mbit/s oder mehr, abhängig von der Komplexität des Filmmaterials. "Cartoon"-Inhalte mit wenigen Farben können im Allgemeinen normalerweise eine viel niedrigere Bitrate haben. Dies ist normalerweise eine gute Balance zwischen Größe und Qualität. Wenn Sie eine bessere Qualität wünschen, wählen Sie eine höhere Bitrate, und wenn Sie ein kleineres Video wünschen, wählen Sie eine niedrigere Bitrate.

Beachten Sie jedoch, dass YouTube Ihr Video IMMER codiert, sobald es hochgeladen wurde, unabhängig davon, welchen Codec und welche Einstellungen Sie verwenden. Wenn Sie also die theoretisch beste Qualität für Ihre Uploads wünschen, wählen Sie einen verlustfreien Codec für den Upload oder zumindest optisch verlustfrei. Betrachten Sie YouTube als die endgültige Ausgabe in einem Bereitstellungs-/Verbraucherformat, und das Hochladen auf YouTube ist der letzte Schritt in der Produktion, und während der Produktion möchten Sie verlustfrei bleiben. Aber bitte beachten Sie, dass dies alles nur eine theoretische Sache ist, praktisch würde ich sagen, dass es wirklich keine Rolle spielt, da wir über YouTube sprechen und nicht über Fernsehübertragungen oder Kino. In fast allen Fällen reicht eine h264-Kodierung mit sehr hoher Bitrate (20-40 Mbit/s) selbst für High-End-Inhalte aus.

Aber wenn Sie es wirklich "perfekt" machen wollen, verwenden Sie einen Produktionscodec und keinen Consumer-Codec wie h.264. MJPEG wäre dafür ein guter Codec, YouTube unterstützt das definitiv in einem .avi- oder .mov-Container. MJPEG ist ein verlustbehafteter Codec, aber die visuelle Qualität entspricht der Quelle (wenn Sie eine ausreichend hohe Qualitätseinstellung gewählt haben, ist dies praktisch JPEG als Videocodec). Die Verwendung eines echten verlustfreien Codecs wäre meiner Meinung nach eine Verschwendung von Festplattenspeicher und Bandbreite.

Aber wenn Sie Ihr Video wirklich verlustfrei hochladen möchten und sich nicht um die Upload-Zeit kümmern, empfehle ich die Verwendung eines Standard-QuickTime-Codecs, da sie fast alle von YouTube unterstützt werden sollten (beachten Sie, dass nicht alle verlustfrei sind, h264 ist auch ein standardmäßiger QuickTime-Codec). Leider gibt YouTube nicht an, welche QuickTime-Codecs unterstützt werden. Animation oder JPEG2000 sollten funktionieren, denke ich. Bei JPEG2000 können beide Codecs je nach Einstellung 100% verlustfrei sein.

Wenn es um Bildraten geht, wenn Sie wählen können, dann verwenden Sie 25 FPS oder 30 FPS während der Aufnahme/Animation (YouTube unterstützt mittlerweile auch 50 und 60 FPS+ Video, also verwenden Sie das, wenn Ihre Inhalte von einer höheren Bildrate profitieren), YouTube mag Standard-Bildraten wie 25 oder 30 FPS am meisten (oder wieder eine der höheren FPS-Optionen), aber wenn Ihr Filmmaterial bereits in einer anderen Bildrate wie 24 FPS vorliegt, bleiben Sie dabei und interpolieren Sie nicht nach oben oder unten. YouTube übernimmt die Konvertierung für Sie und macht das im Allgemeinen besser als Ihr durchschnittlicher Encoder. Sie müssen sich jeden Tag mit allen Arten von Frameraten auseinandersetzen und haben dieses (eigentlich sehr komplizierte) Problem wirklich gut gelöst.

Audio:

Verwenden Sie für das Audio PCM, wenn Sie auch beim Audio verlustfrei bleiben möchten, aber auch dies ist wirklich nur eine theoretische Qualitätsverbesserung. Unterstützte Kommunikation wird in der Regel qualitativ die gleiche Arbeit leisten (subjektiv) und kleiner sein. Ich empfehle eine Bitrate von 128-192 kbps für AAC. Die Auswirkung auf die Größe ist normalerweise nicht so groß wie der Video-Codec, sodass Sie auch einfach mit 192 kbps oder höher arbeiten können, wenn Sie der Meinung sind, dass Ihre Audioinhalte sehr empfindlich sind. YouTube konvertiert Audio mithilfe des AAC- und Opus-Codecs (nur WebM) in ~24 kbps (Mobile alias 3gp), ~64 kbps (240p), ~128 kbps (360p/480p) und ~192 kbps (720p+).

Ich stimme dieser Antwort zu. Aber es gibt eine praktische Grenze: die Upload-Geschwindigkeit. Wie viel Zeit planen Sie für einen Upload ein? Ein ganzes Wochenende, eine Nacht oder ein paar Stunden bis zum Feierabend. Ich selbst habe das Limit auf 2 GB für 10 Minuten Video gesetzt, was in meinem Fall etwa 4 Stunden Uploadzeit benötigt. Aber schränkt das wirklich die Qualität ein? Mein 2-GB-Video hat eine Bitrate von 30 Mbit/s, die YouTube auf 3 Mbit/s umwandelt. Eine verlustfreie Codierung würde die Uploadzeit vervielfachen, aber die YouTube-Ausgabe würde immer noch bei 3 Mbit/s liegen. Bitte legen Sie Ihre persönlichen Grenzen selbst fest.
Sicher, deshalb habe ich es (hoffentlich) ganz klar gemacht, dass es theoretisch und in keiner Weise praktisch ist. H.264 ist für fast alle Fälle zu empfehlen. Der einzige praktische Anwendungsfall für MJPEG, der mir einfällt, ist, wenn bei der ersten h.264-Codierung Farbstreifen auftreten, die sich bei der zweiten Codierung von YouTube verschlimmern.
Youtube unterstützt h.264 High Profile, also sollten Sie es immer verwenden. Das Hauptprofil für SD-Inhalte ist albern. 8x8dct wegzulassen ist immer eine schlechte Idee. In x264 ist die Aktivierung von 8x8dct der effizienteste Kompromiss zwischen CPU-Zeit und besserer Qualität pro Dateigröße (auch bekannt als rate:distortion oder RD).
H.264 sieht bei gleicher Bitrate viel besser aus als MJPEG. Wenn Sie eine bessere Qualität wünschen, erhöhen Sie einfach die Bitrate (oder die Qualitätseinstellung in konstanter Qualität anstelle des Zielbitratenmodus). Sie können bis zu verlustfreiem h.264 gehen, wenn es Ihnen nichts ausmacht, eine riesige Datei hochzuladen. Es wird wahrscheinlich kleiner sein als verlustfreies j2k. Beide sind jedoch von perfekter Qualität, denn das bedeutet verlustfrei.
Für Audio, IDK, ob YouTube FLAC unterstützt oder nicht. Wenn ja, wäre das Ihre erste Wahl für verlustfrei. Ansonsten ja, AAC mit hoher Bitrate, das mit einem guten Encoder erstellt wurde. ( -c:a libfdk-aac, nicht die Standard- faacoder eingebauten aacEncoder in ffmpeg.)

In welchem ​​Format YT ihr Video ausgibt, hängt von verschiedenen Faktoren ab. Für die meisten gewöhnlichen Videos verwenden sie H264-codierte Streams für Video (AAC oder MP3 für Audio) in Form von MP4- und FLV-Containerdateien.

Dies sind nur Container, die die codierten Videodaten enthalten - obwohl das H264-codierte Format bei FLV-Dateien (oder theoretisch bei MP4-Dateien) keine Garantie ist, da sie auch Sorenson Spark, On2 VP6 und andere enthalten können (insbesondere bei älteren Videos). ).

FLV's werden verwendet, da sie garantiert mit Flash-Player abspielbar sind.

Es ist nicht wirklich Sache der Downloader-Software, das Format zu bestimmen - sie laden einfach herunter, was verfügbar ist, indem sie itagdie "interne" Video-URL (nicht die im Browser) verwenden, um die Optionen zu identifizieren. Wenn sie das Video optional konvertieren, wäre dies eine Funktion, die jedoch nicht mit den Formaten von YT zusammenhängt.

Daneben gibt es noch weitere Formate wie 3GP, WEBM sowie für 3D-Filme. Einige zielen auf Telefone und den neuen Html5-Standard ab (wird implementiert, wie wir sprechen), der Videos direkt mit HTML abspielen kann (dh ohne Flash-Player).

Aber zurück zu den gängigsten Formaten: Qualitativ ist das eigentlich egal. Wenn das FLV H264 enthält, können Sie es genauso gut wiedergeben wie eine MP4-Containerdatei mit zB dem VLC-Player von VideoLAN . Wenn das FLV kein H264 enthält und Sie es als MP4-Container mit H264 haben möchten, müssen Sie es neu codieren, was bedeutet, dass Sie an Qualität verlieren.

Da YT derzeit H264 zu bevorzugen scheint, würde ich vorschlagen, auch in diesem Format hochzuladen (siehe ihre Informationen zu Größen und Bitraten, um eine Neucodierung für die beste Auflösung zu vermeiden).

Ihre Frage lautet "Wie codiert YouTube meine Uploads und welchen Codec sollte ich zum Hochladen verwenden?".

Wenn ich tiefer in Ihre Frage eintauche, sehe ich: „Sollte ich meine eigene Codierung so anpassen, dass sie mit dem Codec von Youtube „gut spielt“, oder spielt es eine Rolle, was die Qualität betrifft? Ich weiß, dass ich so ziemlich alles auf Youtube werfen kann, und es wird es dauern Mir geht es hauptsächlich um die Videoqualität.".

Die Antwort ist, dass YouTube Lavf57.25.100 verwendet, um neue Videos zu codieren, während Videos, die älter als ein paar Jahre sind, mit einem proprietären Encoder codiert wurden (der nicht „Lavf57.25.100“ in seine ID eingebettet hat, sondern stattdessen diesen Satz hat: „IsoMedia File Produced von Google, 5.11.2011"). Die alten Videos wurden nicht neu kodiert, als der Algorithmus geändert wurde.

Es ist akzeptabel, viele verschiedene Codecs zu verwenden, YouTube empfiehlt H.264 - siehe hier: https://support.google.com/youtube/answer/1722171?hl=en .

Aus irgendeinem Grund entscheiden Sie sich, nicht nach dem Container zu fragen (was nicht dasselbe ist wie ein Codec). Sie gehen auch davon aus, dass 1080P verfügbar sein wird, und fragen nicht nach dem Wichtigsten - der Bitrate (gefolgt von der Auflösung).

Wenn Sie ein Video mit 1080P-Auflösung bei 60 FPS hochladen, beträgt die maximal verfügbare Auflösung 720P (bei 60 FPS, auf einem Mobilgerät, das 1080P unterstützt). Das Hochladen eines 1080P-Videos mit 29,97 FPS ermöglicht die Anzeige in 1080P auf einem Mobilgerät.

Was wichtig ist, sind Bitrate und Auflösung, wenn "Qualität" Ihr Ziel ist. Sie können nicht hochskalieren oder verlustfrei zum Schummeln verwenden, da YouTube einen „Kompressionstest“ durchführt, um festzustellen, wie stark Ihr Video mit minimaler Verschlechterung zerkleinert werden kann. Laden Sie Matsch hoch und es wird hochkomprimiert, laden Sie hohe Auflösung und hohe Bitrate hoch, dann YouTube wird sich beim Zerkleinern zurückziehen und ein viel besseres Seherlebnis bieten.

Siehe: https://support.google.com/youtube/answer/1722171?hl=de .

Beachten Sie die unterschiedlichen Auflösungen und „Qualitätserwartungen“. Für 4K-Videos mit geringen Erwartungen können Sie Videos mit einer Bitrate von 35-45 Mbps hochladen, aber wenn Sie ein "Produzent" sind und Qualität Ihr Ziel ist, benötigen Sie sowohl eine höhere Framerate als auch mindestens 66-85 Mbps für die Kamera-Bitrate (bevor Sie es sehr sanft komprimieren).

Wenn Sie ein Video mit niedriger Auflösung hochskalieren und einen unkomprimierten Codec verwenden, in der Hoffnung, die bestmögliche Qualität zu erhalten, werden Sie erwischt (und zu Brei reduziert).

Nehmen Sie mit einer Kamera in Produktionsqualität, Video mit hoher Bildrate und Bitrate auf, sehr sanft komprimiert (Ffmpeg Q = <10), um die besten Ergebnisse zu erzielen - der "Codec" (Ihre Worte) ist nicht der einzige bestimmende Faktor (obwohl ich davon abraten würde ein alter).

Ffmpeg unterstützt .MP4-Container und den H.264-Codec, also verwenden Sie diese.

Die Leute beschweren sich oft, dass YouTube ihre Videos ruiniert, das Problem ist, dass sie von vornherein nicht hoch genug hochgeladen haben, um den Schalter umzulegen und den YouTube-Kompressor zu veranlassen, sanft auf Ihren Upload einzugehen. Pixelgenau perfekte Videos sind möglich. Es gilt die GIGO-Regel.

Vielen Dank für den offiziellen Link „Empfohlene Upload-Codierungseinstellungen“ , der direkt auf die Frage „Welchen Codec soll ich zum Hochladen verwenden?“ antwortet. Teil!

Sie sind mit Lavf57.25.100 kodiert.

Dies ist eine der wenigen widersprüchlichen Hilfeseiten, die bessere Informationen enthält als einige der anderen: https://support.google.com/youtube/answer/6039860?hl=de