Video-Encoding für die Flash Plattform
Transcrição
Video-Encoding für die Flash Plattform
Video-Encoding für die Flash Plattform Montag, 16. November 2009 Florian Plag | November 2009 www.video-flash.de Florian Plag www.video-flash.de www.florian-plag.de Montag, 16. November 2009 Encoding für das Web Encoding Original-Video Montag, 16. November 2009 Web-Video Intro Montag, 16. November 2009 Intro Profil Encoder F4V CBR VBR AAC Montag, 16. November 2009 FLV CABAC MPEG-4 2-Pass-Encoding Level Bitrate H.264 16:9 fps Deinterlacing Agenda • Teil 1 • Format- und Codecwahl • MPEG-4 • H.264 und AAC • Dateiendungen • Teil 2 • Encoding-Parameter Montag, 16. November 2009 Kapitel 1 Format- und Codecwahl Montag, 16. November 2009 H.264-Encoding-Software (kommerziell) ... Montag, 16. November 2009 H.264-Encoding-Software (Open Source) ... Montag, 16. November 2009 Beispiel: Encoder-Qualität QuickTime 1280x720 Pixel, 2-pass Encoding Video: 800 KBit/s & Audio: 80 Kbit/s Montag, 16. November 2009 x264 Formatwahl mp4 Montag, 16. November 2009 Codecs im FLV-Container (.flv) Sorenson Spark MP3 ab Flash Player 6/7 Montag, 16. November 2009 Codecs im FLV-Container (.flv) Sorenson Spark On2 VP6 MP3 MP3 ab Flash Player 6/7 Montag, 16. November 2009 ab Flash Player 8 Codecs im MPEG-4 Container H.264 AAC ab Flash Player 9,0,115 (auch in AIR 1.0) Release: Dez 2007 Montag, 16. November 2009 Flash Player Verbreitung (Europa) Flash Player 8 99,3!% Flash Player 9 99,3!% Flash Player 10 91!% http://www.adobe.com/products/player_census/flashplayer/version_penetration.html Montag, 16. November 2009 Übersicht: Codecs in Flash Flash CS4 / FP 10 Flash 8 / FP 8 Flash MX FP 6 7 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 Flash MX 2004 / FP 7 Flash CS3 / FP 9 Sorenson Spark On2 VP6 VP6-S H.264 MP3 AAC Montag, 16. November 2009 Vorteile von MPEG-4/H.264 in Flash Montag, 16. November 2009 Vorteile von MPEG-4/H.264 in Flash • Große Auswahl an Encoding-Lösungen (kommerziell + Open Source) Montag, 16. November 2009 Vorteile von MPEG-4/H.264 in Flash • Große Auswahl an Encoding-Lösungen (kommerziell + Open Source) • kein zeitraubendes Mehrfach-Encoding Montag, 16. November 2009 Vorteile von MPEG-4/H.264 in Flash • Große Auswahl an Encoding-Lösungen (kommerziell + Open Source) • kein zeitraubendes Mehrfach-Encoding • kann von anderer Software/Hardware abgespielt werden (QuickTime, Silverlight, HTML 5, iPod, Playstation, ...) Montag, 16. November 2009 Vorteile von MPEG-4/H.264 in Flash • Große Auswahl an Encoding-Lösungen (kommerziell + Open Source) • kein zeitraubendes Mehrfach-Encoding • kann von anderer Software/Hardware abgespielt werden (QuickTime, Silverlight, HTML 5, iPod, Playstation, ...) • offener Standard / „zukunftssicher”, aber evtl. Lizenzkosten Montag, 16. November 2009 Vorteile von MPEG-4/H.264 in Flash • Große Auswahl an Encoding-Lösungen (kommerziell + Open Source) • kein zeitraubendes Mehrfach-Encoding • kann von anderer Software/Hardware abgespielt werden (QuickTime, Silverlight, HTML 5, iPod, Playstation, ...) • offener Standard / „zukunftssicher”, aber evtl. Lizenzkosten • hohe Qualität Montag, 16. November 2009 Kapitel 2 MPEG-4 Montag, 16. November 2009 Einsatzgebiete von MPEG-4 (H.264) • DVB-S2 • Bluray, HD-DVD • (Mobile) Devices • Internet Montag, 16. November 2009 Einsatzgebiete Full HD HD SD 3G Montag, 16. November 2009 credit: booleansplit Montag, 16. November 2009 MPEG-4 MPEG-4 Part 1 ... Part 3 ... ... ... ... ... ... ... ... Part 25 Montag, 16. November 2009 MPEG-4 MPEG-4 Part 1 DivX,... ... Part 3 ... ... ... ... ... ... ... ... Part 25 Montag, 16. November 2009 Part 2 MPEG-4 MPEG-4 Part 1 DivX,... ... AAC Part 3 Part 3 ... ... ... ... ... ... ... ... Part 25 Montag, 16. November 2009 Part 2 MPEG-4 MPEG-4 Part 1 DivX,... ... Part 2 AAC Part 3 Part 3 ... ... H.264 ... Part 10 ... ... ... ... ... Part 25 Montag, 16. November 2009 MPEG-4 MPEG-4 AAC Part 3 Part 3 Part 1 DivX,... ... ... H.264 ... Part 10 ... ... ... ... Montag, 16. November 2009 Part 2 ... Media File Format ... Part 12 Part 25 MPEG-4 MPEG-4 AAC Part 3 Part 3 Part 1 DivX,... ... ... H.264 ... Part 10 ... ... Timed ... Text ... Montag, 16. November 2009 Part 2 Part 17 ... Media File Format ... Part 12 Part 25 Kapitel 3 H.264 und AAC Montag, 16. November 2009 H.264 • H.264 = MPEG 4 Part 10 = MPEG 4/AVC • H.264 wurde 2003 verabschiedet • Ziel: Bitrate MPEG-2 H.264 Qualität Montag, 16. November 2009 Deblocking in H.264 • ca. 5-10% niedrigere Datenrate bei gleicher visueller Qualität ohne Deblocking Montag, 16. November 2009 mit Deblocking H.264: Profile Baseline Extended Main High High 10 High 4:2:2 High 4:4:4 In-loop Deblocking ja ja ja ja ja ja ja B-Frames nein ja ja ja ja ja ja CAVLC ja ja ja ja ja ja ja CABAC nein nein ja ja ja ja ja ... ... ... Montag, 16. November 2009 H.264: Levels Flash Player unterstützt alle 15 Levels te, a r t i >B 1 1.1 1.2 1.3 2 ng, u s ö Aufl 2.1 te era m a r F 2.2 3 3.1 3.2 4 4.1 4.2 5 3.1 2.1 max 4 MBit/s (Baseline, Main, Extended) max 14 MBit/s (Baseline, Main, Extended) max. 5 MBit/s (High) max. 17,5 MBit/s (High) z.B. 352x480/30.0 oder 352x576/25.0 z.B. 1280x720/30.0 oder 720x576/66.7 Montag, 16. November 2009 5.1 H.264: Profile • Flash Player unterstützt alle Profile und Level • High-Profil und hohes Level können bedenkenlos genutzt werden Montag, 16. November 2009 MPEG 4 Part 3 = Advanced Audio Coding (AAC) • seit 1999 in MPEG-4 • Vergleich mit MP3: „gleiche Qualität bei niedrigerer Bitrate“ • Flash Player kompatibel zu: • (LC-) AAC AAC • HE-AAC v1 HE-AAC v1 • HE-AAC v2 HE-AAC v2 Montag, 16. November 2009 SBR PS LC-AAC, HE-AAC v1 und v2 LC-AAC z.B. 128 KBit/s HE-AAC (AAC+) < 96 Kbit/s (z.B. 64 KBit/s) HE-AAC v2 (AAC+) < 48 Kbit/s (z.B. 24 KBit/s) Montag, 16. November 2009 AAC-Varianten Montag, 16. November 2009 Kapitel 4 Dateiendungen Montag, 16. November 2009 Dateiendungen für MPEG-4 Dateien Container --> funktionieren nur, wenn Inhalt H.264+AAC ist .mp4v .mp4 .mov .3gp2 .m4v .m4a Montag, 16. November 2009 .3gp Neue Dateiendungen von Adobe .f4v Video for Adobe Flash Player .f4p Protected Media for Adobe Flash Player .f4a Audio for Adobe Flash Player .f4b Audio Book for Adobe Flash Player Hinweis: Flash Player schaut nicht auf Dateiendung! Montag, 16. November 2009 Kapitel 5 Encoding-Parameter Montag, 16. November 2009 Eine Bitrate für alle Videos Montag, 16. November 2009 Verschiedene Bitraten (abhängig von Komplexität) Montag, 16. November 2009 Einteilung des Videos • Komplexität beurteilen: • Bewegung im Bild • Bewegung der Kamera • Rauschen • Blenden • etc. Montag, 16. November 2009 • Einteilung in: • niedrig (Talkshow, Interview, „talking heads“, etc.) --> niedrige Bitrate • mittel (TV, Nachrichten, etc. ) --> mittlere Bitrate • hoch (Sport, Action, etc.) --> hohe Bitrate Herangehensweise • gleiche Einstellungen (z.B. Bitrate) bei verschiedener Komplexität --> unterschiedliche Qualität • angepasste Einstellungen (z.B. Bitrate) an Komplexität --> konstante Qualität Montag, 16. November 2009 Web Video Bitrate Starter • http://www.flashsupport.com/resources/ Montag, 16. November 2009 Konstante Bitrate vs. Variable Bitrate Montag, 16. November 2009 Datenrate Konstante Bitrate vs. Variable Bitrate CBR Relevanz Zeit Montag, 16. November 2009 Datenrate Konstante Bitrate vs. Variable Bitrate CBR VBR Relevanz Zeit Montag, 16. November 2009 Konstante Bitrate vs. Variable Bitrate • CBR • VBR • konstante Datenrate, dafür schwankende Qualität • schwankende Datenraten, gleichmäßige Qualität • gut für Streaming • gut für Progressive Download Montag, 16. November 2009 2-Pass Encoding • Zuerst Analyse, dann Encoding • höhere Qualität, dafür längere Encodingdauer 1-Pass Montag, 16. November 2009 2-Pass H.264: Entropiekodierung • CAVLC = kontextabhängige Lauflängenkodierung • CABAC = kontextabhängige binärarithmetische Kodierung - nur im Main-/High-Profil - 5 bis 15% effizienter als CAVLC - jedoch mehr Rechenleistung • Empfehlung: CABAC immer aktivieren Montag, 16. November 2009 Auflösungen im 4:3-Seitenverhältnis 720x576 (DV PAL) entspricht 768x576 (=4:3) 720x480 (DV NTSC) entspricht 720x540 (=4:3) Im Web: ... 640x480 448x336 320x240 ... Generell: Möglichst immer Vielfache von 16 (8, 4, 2) verwenden Montag, 16. November 2009 Auflösungen im 16:9-Seitenverhältnis 1920x1080 (=1080i) - 1280x720 (=720p) - 720x576 (anamorphotisch, DV-PAL) entspricht 1024x576 1440x1080 (anamorphotisch, HD) entspricht 1920x1080 Montag, 16. November 2009 Im Web: ... 768x432 512x288 256x144 ... Framerate • Framerate des Originals verwenden = keine Bewegungsinformationen gehen verloren • Bei Reduktion: Ganzzahligen Teiler verwenden • Beispiel 25 / 2 = 12,5 fps Montag, 16. November 2009 Deinterlacing • Videos mit Halbbildern ( z.B. SD, 1080i, ...) • Gleichzeitiges Anzeigen beider Halbbilder = Kammartefakte Montag, 16. November 2009 Deinterlacing • Weglassen eines Halbbilds • Empfehlung: Adaptives und/oder „Motion Compensation” discard field Montag, 16. November 2009 adaptive Preprocessing • Rauschen entfernen • Temporale Rauschverminderung Montag, 16. November 2009 credit: bettybraun Montag, 16. November 2009 Video-Encoding für die Flash Plattform Montag, 16. November 2009 Florian Plag | November 2009 www.video-flash.de