Videoqualität mit fortschrittlicher Kompression optimieren
Mit dem Wachstum der digitalen Welt spielt Videokompression eine entscheidende Rolle bei der Optimierung von Videospeicherung und -übertragung für Streaming, Social Media und Multimedia-Apps. In diesem Beitrag betrachten wir verschiedene Videokompressionsverfahren und zeigen, wie sie Dateigrößen reduzieren und dabei eine akzeptable Videoqualität erhalten.

Verlustbehaftete vs. verlustfreie Kompression
Es gibt zwei Hauptarten der Videokompression: verlustbehaftet und verlustfrei. Bei der verlustbehafteten Kompression wird ein Teil der Originaldaten verworfen, was zu einer kleineren Dateigröße und einem leichten Verlust an Videoqualität führt. Beispiele für verlustbehaftete Videocodecs sind H.264 (AVC), H.265 (HEVC), VP9 und AV1. Im Gegensatz dazu bleiben bei der verlustfreien Kompression alle Originaldaten erhalten, wodurch die Videoqualität auf Kosten größerer Dateien gewahrt bleibt. Zu den verlustfreien Codecs zählen HuffYUV und Lagarith.
Je nachdem, wie oft ein Video angesehen wird, müssen Maschinen einen unverhältnismäßig hohen Aufwand betreiben, um eine Datei zu codieren und dabei Einsparungen gegenüber den heute gängigen Codecs zu erzielen. Aus diesem Grund bietet Transloadit AV1-Encoding nur Kunden im Enterprise-Tarif auf Anfrage an.
Sehen wir uns einige Unterschiede zwischen diesen Codecs an:
-
H.264 (Advanced Video Coding): Als einer der am weitesten verbreiteten Videocodecs bietet H.264 eine effiziente Videokompression bei guter Videoqualität. Er unterstützt ein breites Spektrum an Auflösungen und eignet sich damit für unterschiedlichste Anwendungen, von mobilen Geräten bis hin zu hochauflösendem Fernsehen.
-
H.265 (High-Efficiency Video Coding): Als Nachfolger von H.264 bietet H.265 eine verbesserte Kompressionseffizienz und unterstützt höhere Auflösungen wie 4K und 8K. Im Gegenzug benötigt er mehr Rechenleistung, was ihn für leistungsschwache Geräte weniger geeignet macht.
-
VP9: Ein von Google entwickelter Open-Source-Videocodec, der eine ähnliche Kompressionseffizienz wie H.265 bietet. Er wird häufig für das Streaming von Videos auf Plattformen wie YouTube eingesetzt.
Damit sich WebM-Quellen in Browsern und auf Geräten leichter abspielen lassen, probieren Sie unseren Konverter von WebM zu MP4 (English) live aus.
-
AV1 (AOMedia Video 1): Ein Open-Source-Videocodec der nächsten Generation mit verbesserter Kompressionseffizienz und hoher Videoqualität. Er unterstützt Auflösungen bis 8K und ist für Hardware- und Software-Decodierung optimiert. AV1 eignet sich ideal für das Streaming von Videos auf Plattformen wie Netflix und YouTube.
-
HuffYUV: ermöglicht schnelles Encoding und schnelle Decodierung und eignet sich damit ideal für Anwendungen, die eine Hochgeschwindigkeitsverarbeitung erfordern, etwa Videoschnitt. Er bietet eine hervorragende Kompression für einfache Videoinhalte, ist bei komplexen Videoinhalten aber weniger effektiv. HuffYUV wird häufig zur Zwischenspeicherung oder Bearbeitung verwendet.
-
Lagarith: bietet eine sehr gute Kompression für einfache wie komplexe Videoinhalte und ist auf schnelles Encoding und schnelle Decodierung ausgelegt. Lagarith wird häufig für die Aufzeichnung und Archivierung von Videomaterial verwendet.
Räumliche und zeitliche Kompression
Videokompressionsverfahren lassen sich in zwei Kategorien einteilen: räumliche und zeitliche.
Die räumliche Kompression reduziert Redundanz innerhalb einzelner Videoframes, indem sie unnötige Daten entfernt und dabei die wesentlichen Elemente erhält. Verfahren wie die diskrete Cosinustransformation (DCT) und die Wavelet-Transformation helfen dabei, indem sie Pixelwerte in Frequenzbereichskoeffizienten umwandeln, die anschließend quantisiert und codiert werden können.
Die zeitliche Kompression wiederum reduziert Redundanz zwischen aufeinanderfolgenden Frames einer Videosequenz. Verfahren wie Bewegungsschätzung und Bewegungskompensation nutzen Ähnlichkeiten zwischen Frames, um die zur Darstellung des Videos benötigte Datenmenge zu minimieren.
HEVC-Encoding-Demo
Transloadit bietet viele verschiedene Encoding-Voreinstellungen, die Sie nutzen können. In der Demo unten verwenden wir den Robot /video/encode, um eine Videodatei automatisch in den HEVC-Videocodec zu transkodieren. Anschließend exportieren wir diese Datei zum späteren Abruf nach S3. Weitere Informationen zur Einrichtung von S3 finden Sie in unserem Blogbeitrag S3 für Transloadit einrichten (English).
<!-- This pulls Uppy from our CDN -->
<!-- For smaller self-hosted bundles, install Uppy and plugins manually: -->
<!-- npm i --save @uppy/core @uppy/dashboard @uppy/remote-sources @uppy/transloadit ... -->
<link
href="https://releases.transloadit.com/uppy/v3.10.0/uppy.min.css"
rel="stylesheet"
/>
<button id="browse">Select Files</button>
<script type="module">
import {
Uppy,
Dashboard,
ImageEditor,
RemoteSources,
Transloadit,
} from 'https://releases.transloadit.com/uppy/v3.10.0/uppy.min.mjs'
const uppy = new Uppy()
.use(Transloadit, {
waitForEncoding: true,
alwaysRunAssembly: true,
assemblyOptions: {
params: {
// It's often better store encoding instructions in your account
// and use a `template_id` instead of adding these steps inline
steps: {
':original': {
robot: '/upload/handle',
},
hevc_encoded: {
use: ':original',
robot: '/video/encode',
result: true,
ffmpeg_stack: 'v7',
preset: 'hevc',
turbo: true,
},
exported: {
use: ['hevc_encoded', ':original'],
robot: '/s3/store',
credentials: 'demo_s3_credentials',
url_prefix: 'https://demos.transloadit.com/',
},
},
},
},
})
.use(Dashboard, { trigger: '#browse' })
.use(ImageEditor, { target: Dashboard })
.use(RemoteSources, {
companionUrl: 'https://api2.transloadit.com/companion',
})
.on('complete', ({ transloadit }) => {
// Due to `waitForEncoding:true` this is fired after encoding is done.
// Alternatively, set `waitForEncoding` to `false` and provide a `notify_url`
console.log(transloadit) // Array of Assembly Statuses
for (const assembly of transloadit) {
console.log(assembly.results) // Array of all encoding results
}
})
.on('error', (error) => {
console.error(error)
})
</script>
Wenn eine Voreinstellung nicht genau das Encoding bietet, das Sie suchen, können Sie auch individuelle FFmpeg-Optionen in Betracht ziehen, um das Encoding genau auf Ihre Anforderungen abzustimmen.
Fazit
Videokompressionsverfahren spielen eine entscheidende Rolle bei der Steuerung von Größe und Qualität digitaler Videodateien. Wenn Content-Ersteller und Entwickler die verschiedenen verfügbaren Methoden und Codecs verstehen, können sie fundierte Entscheidungen darüber treffen, welches Kompressionsverfahren ihren Anforderungen am besten entspricht. Da die Videoauflösungen weiter steigen und die Nachfrage nach Videoinhalten wächst, wird die Effizienz der Videokompression in den kommenden Jahren nur noch wichtiger.
Bei Transloadit kennen wir die Bedeutung effizienter Videokompression und liefern hochwertige Videoinhalte an Ihr Publikum aus. Mit unserer leistungsstarken API für Video-Encoding setzen Sie verschiedene Videocodecs und Kompressionsverfahren mühelos in Ihrem Workflow um. Dank zahlreicher Anpassungsoptionen und Unterstützung für adaptives Streaming sorgen wir dafür, dass Ihre Videos für die bestmögliche Nutzererfahrung auf unterschiedlichen Geräten und bei verschiedenen Netzwerkbedingungen optimiert sind. Mit der technologischen Entwicklung bleibt Transloadit auch künftig an der Spitze der Innovationen bei der Videokompression und bietet Ihnen modernste Lösungen, die auf Ihre Anforderungen zugeschnitten sind.
