–
Videokompression
Kompression ist die Reinzeichnung des Videobereichs. Videodaten erzeugen große Datenmengen. Das Internet braucht zur Übertragung jedoch möglichst kleine Dateien. Hier kommt Kompression ins Spiel. Es gibt zahlreiche Codecs. Im Internet spielen hauptsächlich H.264, H.265 und VP9 eine Rolle. Die Bitbreite des Videos entscheidet über die Größe der Datenpakete, die durchs Netz geschickt werden. Diese sollte zur Internet Bandbreite des Zuschauers passen.
zurück zur Übersicht
V+kp
–
Videokompression
Schnelligkeit kontra Dateigröße
Beim Aufbereiten von Webcontent wird zwischen Dateigröße und Qualität abgewogen. Generell wollen wir möglichst kleine Dateien erstellen, um die Datenlast einer Webseite so gering wie möglich zu halten. Je schneller eine Seite lädt, desto weniger Datenvolumen verbraucht sie, desto besser rankt sie bei Google. Klassisches Webhosting liefert Texte und Bilder. Bilder verbrauchen mehr Platz als Texte – Videos exorbitant mehr als Bilder.
> Videobildgröße
-------------------------------------------------------------- FullHD-Video 1920 x 1080 Pixel 2 Millionen Pixel / Bild -------------------------------------------------------------- HD-Video 1280 x 720 Pixel 900.000 Pixel / Bild -------------------------------------------------------------- SD-Video 640 x 360 Pixel 230.000 Pixel / Bild --------------------------------------------------------------
Je weniger Pixel ein Video hat, desto weniger muss auch übertragen werden. Ein FullHD-Video mit einer Auflösung von 1920 x 1080 Pixel schickt pro Bild 2 Millionen Pixel durchs Netz, ein HD-Video mit 1280 x 720 Pixel nur knapp die Hälfte mit 900.000 Pixeln. Ein Video zu verkleinern wird immer effizienter sein als ein Video zu komprimieren. Es macht einen Unterschied ob wir ein Video auf dem Smartphone oder am Desktop anschauen – das Smartphone-Video braucht weniger Pixel. Ähnlich wie bei Bildern sollten Videos responsiv in verschiedenen Varianten ausgeliefert werden.
Videokompression
/ Kompression ------------------------------------------------------------ Codec Container Kompatibilität Kompressioneffizienz ------------------------------------------------------------ H.264 mp4 Alle Browser ineffizient ------------------------------------------------------------ H.265 mp4 Safari (Apple) bis zu 50% höher ------------------------------------------------------------ VP9 webM Firefox / Chrome bis zu 50% höher ------------------------------------------------------------ / keine Kompression ------------------------------------------------------------ Apple ProRes 422(HQ) ------------------------------------------------------------
Doch auch Videokompression spart deutlich Speicherplatz und Datenvolumen. Am weitesten verbreitet ist der H.264-Codec im Gewand des Containers mp4. H.264 wird von allem Browsern und Plattformen unterstützt, komprimiert jedoch ineffizient. Dadurch gibt es Probleme bei Nutzern mit langsamen Internetverbindungen und bei Videos mit hoher Auflösung über 4K. Als Lösung kommen zwei neue Formate ins Spiel, die bis zu 50% besser komprimieren können – H.265 im mp4-Container und VP9 im webM-Container. H.265 ist der offizielle Nachfolger von H.264 wird jedoch nur von Apple und dessen Browser Safari unterstützt. VP9 wird von Firefox und Chrome unterstützt. In der Praxis liefern wir Videocontent in mehreren Formaten aus, um den Nutzer je nach System und Browser die beste Performance zu ermöglichen. Die beste Bildqualität erhalten wir mit einem unkomprimiertem Format wie Apple ProREs 422 (HQ) mit jedoch entsprechendem Platzbedarf – dieses Format ist sinnvoll bei Plattformen wie Youtube oder Vimeo, da diese das Ausgangsmaterial unabhängig vom Upload erneut konvertieren.
Bitrate und Netzgeschwindigkeit
----------------------------------- 1 Mbps = 1000 Kilobit/s ----------------------------------- 1 Mbps = 125 Kilobyte/s ----------------------------------- 10 Mbps = 1.25 Megabyte/s ----------------------------------- 100 Mpbs = 12.5 Megabyte/s ----------------------------------- 1000 Mbps = 125 Megabyte/s -----------------------------------
Die Übertragungsgeschwindigkeit im Netz wird im Mbps, MBit/s oder Megabits pro Sekunde gemessen, seltener in Kbps, Kbit/s oder Kilobits pro Sekunde. Ein Telekommunikationsunternehmen beschreibt Kunden die Geschwindigkeit seines Internetangebots meist in MBit/s. 16 Mbit/s ist derzeit das langsamste Angebot bei Vodafone und 1000 Mbit/s das schnellste. Meist wird nur die schnellere Downloadzeit angegeben, die Uploadzeit beträgt oft nur einen Bruchteil der ersteren.
WLAN-Standards und Netzgeschwindigkeit
WLAN-Standard Datenrate Frequenzband Verbreitung ----------------------------------------------------------- 802.11 2 Mbit/s 2,4–2,485 GHz Veraltet ----------------------------------------------------------- 802.11a 54 Mbit/s 5 GHz Veraltet ----------------------------------------------------------- 802.11b 11 Mbit/s 2,4–2,485 GHz Veraltet ----------------------------------------------------------- 802.11g 54 Mbit/s 2,4–2,485 GHz verbreitet ----------------------------------------------------------- 802.11n 150 Mbit/s 2,4 GHz steigend ----------------------------------------------------------- 802.11n 433 Mbit/s 5 GHz steigend ----------------------------------------------------------- 802.11ac 1300 Mbit/s 5 GHz beginnend -----------------------------------------------------------
Wird ein Computer an der Router direkt mit einem LAN-Kabel angeschlossen, sollte die volle Geschwindigkeit erreicht werden – ein langsames veraltetes WLAN-Gerät kann jedoch das Downloadtempo ausbremsen. Eine 100 MBit Leitung kann durch WLAN zu realen 30 MBit schrumpfen. Mehrere Rechner in einem WLAN-Netzwerk teilen sich das Downloadtempo – je mehr Rechner desto langsamer das Tempo für den Einzelnen.
Bitrate und Streaming
-------------------------------------- SD 640 x 360 2 – 5 Mbps -------------------------------------- 720p 1280 x 720 5 – 10 Mpbs -------------------------------------- 1080p 1920 x 1080 10 – 20 Mbps -------------------------------------- 2K 2500 x 1440 20 – 30 Mbps -------------------------------------- 4K UHD 3840 x 2048 30 – 60 Mbps -------------------------------------- 8K UHD 8192 x 4320 50 – 80 Mbps --------------------------------------
Wenn wir ein Video komprimieren, geben wir auch die Bitrate an, mit welcher das Video durchs Netz in Form von Paketen geschickt wird – also die Geschwindigkeit mit der wir ein Video streamen. Diese muss zum einem zur Größe und Qualität des Videos passen, zum anderen zur Verfügung stehenden Datenleitung an Downloadseite. Liefert der Provider eine Geschwindigkeit von 30 Mbit/s wird ein 4K Video stockend mit Unterbrechungen geladen. Dass Videos dennoch in hoher Auflösung ausgeliefert werden können, kann auch mit besseren Codecs wie dem H.265 oder VP9 zusammenhängen, die Plattformen wie Youtube oder Netflix verwenden. Diese effizienten Videokompressoren schrumpfen die Datenmenge beträchtlich. In Folge kann ein Video mit geringerem Datendurchsatz an Mbps im Vergleich zum klassischen H.264 bei gleichbleibender Qualität komprimiert werden. Auf dieser Art funktionieren Videodienste auch bei langsameren Netzverbindungen.
Serverbandbreite und Trafficvolumen
Wer nun versucht ein Video selbst zu hosten, wird merken, dass schon bereits 720p Videos schlecht streamen. Obwohl eine Datenbitrate von 5 bis 10 Mbps genügt und eigentlich von den meisten Internetverträgen abgedeckt wird, bremst hier der klassische Webhoster den Videostream aus. Klassische Webhoster sind auf klassische Webseiten ausgelegt. Diese bestehen häufig aus Bildern und Texten. Die Webserver sind oft schwach in der Leistung. Zudem teilen sich je nach Angebot viele Kunden einen Webserver. Selbst wenn wir einen Webhoster finden, der nur wenige Kunden pro Webserver hostet, begrenzt der Anbietet seine Serverbandbreite und das monatliche Trafficvolumen und macht damit unterbrechungsfreies Streaming sinnlos. Im Gegensatz zu klassischen Webseiten wird beides beim Streamen von Videos wesentlich schneller aufgebraucht. Hier kommen spezielle Videohoster in Spiel. Oft sind diese deutlich teuerer als klassische Webhoster. Wer hier sparen möchte, zahlt mit Daten seiner Zuschauer.
Optimierungs-Strategie beim Hosten von Videos
-------------------------------------------------------------- <video width="100%" controls> <source src="video-name.mp4" type="video/mp4; codecs=hevc"> <source src="video-name.webm" type="video/webm; codecs=vp9"> <source src="video-name.m4v" type="video/mp4"> </video> --------------------------------------------------------------
Die Reihenfolge der Quellenangaben ist wichtig. Wir fangen mit dem h265/hevc codec gefolgt vom vp9-codec an. Schließlich nennen wir den h264-Codec im m4v- oder mp4-container als Fallback, falls die beiden zugvorgenannten Codecs nicht greifen. Die Verwendung einer niedrigeren Auflösung bewirkt viel mehr als die Verwendung eines effizienteren Codecs. Die Komplexität der Medienverwaltung steigt jedoch mit der Responsivität und den Bandbreite. VP9 und H265 verbessert die Wiedergabe für Teile der User, verursacht jedoch höhere Komplexität, Kosten und Latenz im Transkodieren. Im Gegenzug ist H264 überall verfügbar.
Videos über HTTP streamen
Video über HTML5 ausstrahlen und Video im progressivem Format verwenden Adaptive Bitrate(ABR) beachtet die Geschwindigkeit einer Netzverbindung und begrenzt die Bitrate entsprechend der verfügbaren Bandbreitenkapazität. Protokolle wie ABR, MPEG-DASH und HSL splitten die Videos und stellen je nach Bandbreite unterschiedliche Versionen zur Verfügung. HLS wird am besten von Browsern und Javascript unterstützt.
HLS Video streaming
HLS ist ein adaptives Bitraten Protokoll (ABR) von Apple entwickelt funktioniert auch unter Android. Bitraten-Leiter mit verschiedenen Versionen des Videos verhindern Rebuffering, indem sie Videos in sogenannte Chucks aufteilen, also Hackstücke von Videos. Mit Pre-title encoding werden dann die Chucks auf Bitrate und Qualität hin optimiert und in einer Playlist hinterlegt (.m3u8 chunks und .ts Endungen) Apple empfiehlt 10-sekündige Chunks.
Videohoster
------------------------------------ Youtube us-amerikanisch ------------------------------------ Vimeo us-amerikanisch ------------------------------------ Dailymotion französisch ------------------------------------ Webista us-amerikanisch ------------------------------------ Videolyser deutsch ------------------------------------ Infomaniak deutsch ------------------------------------ Twitch ------------------------------------
Videokompressionsprogramme
------------------------------------ FFmpeg ------------------------------------ Handbrake ------------------------------------ Adobe Media Encoder CC2017 ------------------------------------
Videos können wir nur bedingt mit Videoschnittprogrammen komprimieren. Hierfür gibt es spezielle Programme wie Adobe Media Encoder oder das Open-Source Tool Handbrake. Die größten Freiheiten und die meisten Encoder bietet FFmpeg. Dieses lässt sich jedoch nur im Terminal bedienen. Hier also textbasiertes Arbeiten gefragt.
Live-Streaming und Videohosting
Videokompression fürs Videohosting wird über Software gelöst. Kompression per Software braucht Zeit zum Kodieren. Live-Streaming muss den gleichen Kompressionsaufwand in Echtzeit leisten. Statt Software wird Hardware verwendet, die das Videosignal aus der Kamera in Echtzeit in ein sendefähiges Signal komprimiert und am USB-Port oder Thunderbolt-Port dem Rechner zur Verfügung stellt. Beim Livestreamen werden statt dem HTTP-Protokoll alternative Protokolle wie RTMP und RTSP verwendet. RTMP ist verbreiteter und verwendet Flash zur Übertragung.
zurück zur Übersicht
R+Vm
–
Richtlinien Vimeo
Empfohlene Codecs
/ H.264 ------------------------------------------------- Standard-Codec effiziente Dateigröße Upload- und Konvertierungszeiten niedrig "High Profile" Einstellungen statt "Hauptprofil" (high statt main) Auflösungen bis 4K -------------------------------------------------
/ Apple ProRes 422 (HQ) ------------------------------------------------- hohe Qualität erheblich größere Datei als H.264 Bei Qualitätsproblemen mit H.264 ProRes verwenden -------------------------------------------------
/ H.265 (HEVC) ------------------------------------------------- High Efficiency Coding(HEVC) Nachfolger von H.264 kleinere Datei mit hoher visueller Qualität erhöhte Codierzeit Auflösungen bis 8K und HDR-Videos HDR (High Dynamic Range) -------------------------------------------------
Bildrate
------------------------------------------------- Native Bildrate des Videos beibehalten konstante Bildrate im gesamten Video empfohlen konstant statt variabel wählen Häufige FPS (Frames per Seconds) 23.98 24 25 29.97 30 50 59.94 60 -------------------------------------------------
Datenrate / Bitrate
Qualität Auflösung Bitrate ------------------------------------------------- SD 4:3 640 x 480 2 – 5 Mbps ------------------------------------------------- SD 16:9 640 x 360 2 – 5 Mbps ------------------------------------------------- 720p 1280 x 720 5 – 10 Mbps ------------------------------------------------- 1080p 1920 x 1080 10 – 20 Mbps ------------------------------------------------- 2K 2560 x 1440 20 – 30 Mbps ------------------------------------------------- 4K 3840 x 2160 30 – 60 Mbps ------------------------------------------------- 4K 4096 x 2048 30 – 60 Mbps ------------------------------------------------- 8K 8192 x 4320 50 – 80 Mbps -------------------------------------------------
Die Bitrate steuert die optische Qualität und Dateigröße. Eine hohe Bitrate liefert eine hohe visuelle Qualität. Eine niedrige Bitrate liefert eine kleine Dateigröße. Beides zur gleichen Zeit ist nicht möglich. Die Bitrate kann entweder konstant oder variabel gewählt werden. Empfohlen wird grundsätzlich eine variable Bildrate zu wählen. Eine variable Bildrate komprimiert pro Bild und ist deshalb effizienter – denn eine konstante Bitrate verschenkt Spielraum zur Optimierung. Schnelle Bewegungen und feine Details brauchen eine hohe Bitrate, langsame Bewegungen und einfarbige Fläche eine niedrige Bitrate. Filmen mit Unschärfen im Gegensatz zu detailreichen Totalen verbessert die Effizienz von Kompression, ebenso langsame Bewegungen. Die variable Bitrate kann jedoch Bitratenspitzen beim Übertragen verursachen und das Videomaterial zeitweise zerstören. Die variable Bitrate wird über den Constant Rate Faktor – CRF – eingestellt. Diesen Faktor finden wir sowohl bei ffmpeg als auch bei Handbrake. CRF wird im Wertebereich zwischen 0 und 51 eingestellt. Je höher der CRF-Wert desto besser die visuelle Qualität und desto größer die Videodatei. Je niedriger Der CRF-Wert desto kleiner die Videodatei und desto mehr Artefakten im Bildmaterial. Die Kompressionseffizient entwickelt sich exponentiell, der Schritt von 18 zu 17 kann also größere Auswirkungen haben als 28 zu 27. CRF 23 ist die Voreinstellung, Vimeo empfiehlt 18 oder niedriger. CRF 0 entspricht einer unkomprimierten Datei. Die Qualität des Ausgangsmaterials bestimmt und begrenzt jedoch die Möglichkeiten zur Optimierung – ein höherer CRF-Wert führt nicht automatisch zur besseren Bildqualität, je nach Fall stattdessen zur unnötig großen Videodatei. Beim CRF-Verfahren wird die Bitrate nur angepeilt, nicht genau bestimmt werden. Deswegen ist Experimentieren und anschließendes Prüfen der ungefähren Bitrate notwendig, um eine optimale Einstellung zu finden.
Progressiver Scantyp
Als Scantyp wird bei Videokompression grundsätzlich der progressive Bildzeilenaufbau gewählt. Damit ist gemeint, dass jede Zeile dargestellt wird. Mit dem Aufkommen von neueren Computermonitore im 21ten Jahrhundert hat sich der progressive Bildaufbau physikalisch bedingt verbreitet. Im Fernsehen wurde dagegen von Beginn an mit dem halbzeiligen Aufbauverfahren gearbeitet - dem Interlacing. Hier wird wechselnd nur jede zweite Zeile gezeigt. Das spart Bitbreite zur Übertragung, der Wechsel muss jedoch mit der Bildwiederholfrequenz synchron laufen. Mit TFT-Bildschirmen ist die Bildwiederholfrequenz erübrigt. Videos, die interlaced aufgenommen sind, müssen vor der Kompression deinterlaced werden, um anschließend progressiv gespeichert zu werden.
Farbe
------------------------------------------------------------- Datei mit Farbrauminformationen hochladen Alle Primärfarben und -Matrizen werden unterstützt empfohlen sind BT.2020(Rec.20209) oder BT.709(Red.709) gleichen Wert für Primär- und Matrixkoeffizienten einstellen -------------------------------------------------------------
Farbübertragung
------------------------------------------------------------- Standardvideos(SDR) mit breiter Palette von Übertragungseigenschaften HDR-Videos nur Übertragungsfunktion PQ(SMPTE 2084) oder HLG SMPTE 2084 braucht folgende Metadaten: > Metadaten zur souveränen Handhabung der Farbvolumenanzeige (SMPTE2086) > Metadaten zum Lichtniveau des Inhalts(CEA861) -------------------------------------------------------------
Bit-Tiefe
------------------------------------------------------------- Bittiefe von 10 oder mehr empfohlen Video mit hohem Dynamikumfang(HDR) 10 Bit oder mehr für HDR-Status -------------------------------------------------------------
Audio
------------------------------------------------------------- Stereokanal einstellen Codec AAC_LC (Advanced Audio Codec mit niedriger Komplexität) Datenrate 320 kbit/s mit konstanter Rate Abtastfrequenz 48kHz -------------------------------------------------------------
Im Gegensatz zu Video verbraucht Audio viel weniger Bitrate zum Übertragen. Dank MP3-Standards genügen 320 Kbit/s für eine qualitativ hochwertige Wiedergabe. Das Signal ist dann schon allerdings verlustbehaftet komprimiert. 320 Kbit/s entsprechen einem Drittel Mbit pro Sekunde, was im Vergleich zur Videokompression fast nichts ist.
zurück zur Übersicht
R+Yt
–
Richtlinien Youtube
Container
------------------------------------------------------------- MP4-Container Moov atom am Beginn der Datei für schnellen Start -------------------------------------------------------------
Audio Codec
------------------------------------------------------------- AAC-LC Stereo oder Stereo + 5.1 Sample rate 96kHz oder 48kHz -------------------------------------------------------------
Video Codec
------------------------------------------------------------- Video codec H.264 progressive scan (no interlacing) high profile 2 consecutive B frames geschlossenes GOP. GOP auf Hälfte der Framerate setzen CABAC Variable Bitrate, kein Limiter notwendig Chroma subsampling 4:2:0 -------------------------------------------------------------
Frame Rate
------------------------------------------------------------- übliche Framerates 24 25 30 48 50 60 interlaced Inhalt deinterlacen zum Beispiel 1080i60 in 1080p30 umwandeln -------------------------------------------------------------
Bitrate für SDR Video Uploads
Auflösung Standard Optimal ------------------------------------------------------------- 2160p(4k) 35-45 Mbps 53-68 Mbps 1440p(2k) 16 Mbps 24 Mbps 1080p 8 Mpbs 12 Mbps 720p 5 Mbps 7.5 Mbps 480p 2.5 Mbps 4 Mbps 360p 1 Mbps 1.5 Mbps -------------------------------------------------------------
Bitrate für HDR Video Uploads
Auflösung Standard Optimal ------------------------------------------------------------- 2160(4k) 44-56 Mbps 66-85 Mbps 1440(2k) 20 Mbps 0 Mbps 1080p 10 Mbps 15 Mbps 720p 6.5 Mbps 9.5 Mbps 480p not supported not supported 360p not supported not supported -------------------------------------------------------------
Resolution und aspect ration
------------------------------------------------------------- Standard aspect ratio für Youtube ist 16:9 -------------------------------------------------------------
zurück zur Übersicht
F+mp
–
FFmpeg
Genereller Aufbau
--------------------------------------------------- 1 Programmname im Terminal nennen: ffmpeg --------------------------------------------------- 2 Generelle Optionen nennen --------------------------------------------------- 3 vor dem Inputfile Optionen für Inputfile nennen --------------------------------------------------- 4 Inputfile mit -i kennzeichnen --------------------------------------------------- 5 Zuerst Inputfile mit Formatendung nennen --------------------------------------------------- 6 vor dem Outputfile Optionen für Outputfile nennen --------------------------------------------------- 7 Danach Outputfile mit Formatendung nennen ---------------------------------------------------
Interner Aufbau
--------------------------------------------------- Container > Demuxer > Decoder > Rohdaten > Filter > Encoder > Muxer > Container ---------------------------------------------------
Der interne Aufbau von ffmpeg entschlüsselt zunächst mit einem Demuxer Eingangsformat. Dem Demuxer folgt der Decode. Beide zusammen produzieren Rohdaten sowohl für Video(RAW) als auch für Audio(PCM). Das dekodierte Material wird optional gefiltert, anschließend wieder encodiert und für den muxer vorbereitet. Der Mixer verschlüsselt das Ausgangsformat und produziert aus den Rohdaten das Endformat im entsprechendem Container beispielsweise eine mp4-Datei. Deinterlace ist ein Beispiel für einen Filter.
Allgemeine Optionen
--------------------------------------------------------------- -hide_banner Essentielles im Terminal anzeigen ---------------------------------------------------------------
Video-Optionen
--------------------------------------------------------------- -vframes Anzahl der Videoframes für Output -r Frame rate bestimmen -s Frame size festlegen z.B. 1024x768 -aspect Video Aspect ratio 4:3 16:9 1.3333 1.7777 -vn Video abschalten -vcodec Video Codec festlegen oder erzwingen -timecode hh:mm:ss -vf Filtergraph -b:a Audio bit rate -ab -b:v Video bit rate -b -dn Daten abschalten ---------------------------------------------------------------
Audio-Optionen
--------------------------------------------------------------- -aframes Anzahl der Audioframes für Output einstellen -ar Audio Sampling Frequenz festlegen (in Hz) -aq Audio Qualität festlegen, zum Beispiel VBR -ac Anzahl der Audiokanäle festlegen –an Audio abstellen -acodec Audiocodec festlegen, erzwingen -vol Lautstärke ändern (256=normal) -af Audiofilter festlegen -sample_fmt Audio Sample Format festlegen ---------------------------------------------------------------
Spezifische Optionen Video / Audio
--------------------------------------------------------------- -pix_fmt yuv420p Farbraum-Unterstützung Quicktime -vf format=yuv420p Farbraum-Unterstützung Quicktime -c:v libx264 H.264 Codec Videokompression -c:v libx264rgb H.264 Codec Videokompression -crf 18 variable Videokompression -acodec aac Audiocodec AAC -c:a aac Audiocodec AAC -c:a libopus Audiocodec für VP9 -ar 48000 Audiorate 48 Kilohertz -ac 2 Zwei Audiochannel -b:a 320k Audiobitrate 320 Kbit/s -profile:v high422 Hohes Profil für H.264 -profile:v baseline Baseline Profil für H.264 -level 4.0 FullHD für H.264 -level 3 HD für H.264 ? -movflags +faststart Schnellstart Webvideos -x264-params opencl=true Grafikkartenrendering wählen -color_primaries 1 Farbraumgerecht konvertieren -color_trc 1 -colorspace 1 Farbraumgerecht konvertieren -preset slow Voreinstellung wählen ---------------------------------------------------------------
Hilfe
--------------------------------------------------------------- ffmpeg -h ffmpeg -codecs ---------------------------------------------------------------
Codecs offizielle Bezeichnung
--------------------------------------------------------------- H.263 H.264 H.265 libx264 JPEG 2000 Lossless JPEG MPEG-4 part2 mpeg4 livxvid Scalable Vector Graphics ---------------------------------------------------------------
Encoder Aufruf im ffmpeg Kommandzeile
--------------------------------------------------------------- h263 libx264 libx265 jpeg2000 mpeg4 hevc ---------------------------------------------------------------
Beispiel-Kommando-Zeilen für ffmpeg
------------------------------------------------------------------------------------- / Informationen über Videoeinstellungen erfahren ffmpeg -i video.mp4 / Mit Voreinstellungen AVI in MP4 komprimieren ffmpeg -i input.avi output.mp4 / Mit H.264 und variabler Bitrate (CRF) komprimieren ffmpeg -i input.mov -pix_fmt yuv420p -c:v libx264 -crf 18 -preset slow -profile:v high422 -level 4.0 -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -c:a aac -b:a 320k output.mp4 / Mit H.265 und variabler Bitrate (CRF) Video komprimieren ffmpeg -i input.mp4 -c:v libx265 -crf 23 -tag:v hvc1 -pix_fmt yuv420p -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -an output.mp4 / Mit VP9 und variabler Bitrate (CRF) Video komprimieren ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -speed 3 -pix_fmt yuv420p -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -an output.webm / Mit VP9 und variabler Bitrate (CRF) Video komprimieren ffmpeg -i input.mov -c:v libx265 -crf 23 -tag:v hvc1 -pix_fmt yuv420p -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart output.mp4 / Mit H.264 und konstanter Bitrate konvertieren ffmpeg -y -i input.mp4 -c:v libx264 -b:v 2500k -profile:v high -pix_fmt yuv420p -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -an output.mp4 / Kompatibilität herstellen mit Quicktime-Farbraum ffmpeg -i input.mp4 -c:v libvpx-vp9 -pix_fmt yuv420p output.webm / Konstante Bitrate mit Zwei-Pass-Codec VP9 ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M -pass 1 -an -f null /dev/null && \ ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M -pass 2 -c:a libopus output.webm / Variable Bitrate mit Zwei-Pass-Codec VP9, Bitrate 0 und CRF 30 ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 0 -crf 30 -pass 1 -an -f null /dev/null && \ ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 0 -crf 30 -pass 2 -c:a libopus output.webm / Fulldome-Jena-Finalmaster: Einzelbilder in H.265 Video umwandeln / CRT26 entspricht circa 8.000 kbit/s oder 8 Mbit/s bei 2048x2048 / CRT26 entspricht circa 30.000 kbit/s oder 30 Mbit/s bei 4096x4096 / %04d entspricht Anzahl der Stellen in Nummerierung der Einzelbilder 0000.png ffmpeg -r 30 -i input_%04d.jpg -vcodec libx265 -r 30 -crf 26 -pix_fmt yuv420p output.mp4 / Fulldome-Motus-Vorschaufilm: Einzelbilder 4096x4096 nach H.264 mit 2048x2048 / start-number für Batch-Files beginnend mit 01060.jpg / -s 2048x2048 -c:a copy für Skalierung von Bilddaten / Videodatei ohne Audio ffmpeg -r 30 -start_number 01060 -i input_%05d.jpg -vcodec libx264 -r 30 -crf 26 -s 2048x2048 -c:a copy -vf format=yuv420p output.mp4 / Fulldome-Motus-Vorschaufilm mit Audio / Batch-Files beginnen mit Zählung bei 00000.jpg ffmpeg -r 30 -i input_%05d.jpg -i audio.wav -vcodec libx264 -r 30 -crf 26 -s 2048x2048 -c:a aac -b:a 320k -vf format=yuv420p output.mp4 / Youtube: mov in mp4 umwandlen und Audio beibehalten ffmpeg -y -i input.mov -c:v libx264 -b:v 40000k -profile:v high -c:a aac -b:a 320k -pix_fmt yuv420p output.mp4 / Vimeo: mov in mp4 umwandlen, Audio beibehalten und Datei komprimieren ffmpeg -y -i input.mov -c:v libx264 -b:v 40000k -profile:v high -c:a aac -b:a 320k -vcodec libx264 -crf 26 -pix_fmt yuv420p output.mp4 / Youtube und Vimeo: mov in mp4 unwandeln, Audio und Video in hoher Qualität komprimieren ffmpeg -y -i input.mov -c:v libx264 -crf 18 -level 4.0 -profile:v high422 -pix_fmt yuv420p -c:a aac -b:a 320k -q:a 5 output.mp4 / Fulldome-Settings-UK-Plymouth mit konstanter Bitrate von 60 MBits ffmpeg -i input.mov -c:v libx265 -profile:v main -level:v 6.2 -b:v 7500k -pix_fmt yuv420p output.mp4 / Fulldome-Settings-UK-Plymouth mit variabler Bitrate CR18, H.265 und Audio in mov-Datei enthalten ffmpeg -i input.mov -vcodec libx265 -crf 26 -profile:v main -level:v 6.2 -c:a aac -b:a 320k -vf format=yuv420p output.mp4 / Stapelverarbeitung für ganzen Ordner mit TIFF-Bildern zum Umwandeln in JPG-Bilder for i in *.tif; do ffmpeg -i "$i" "${i%.*}.jpg"; done -------------------------------------------------------------------------------------
zurück zur Übersicht