2012-04-03 5 views
0

Für ein wissenschaftliches Projekt muss ich Videodaten komprimieren. Das Video enthält jedoch kein natürliches Video und die Qualitätsmerkmale der Komprimierung sind anders als bei natürlichem Material (die Erhaltung von harten Kanten ist beispielsweise wichtiger als glatte Farbverläufe oder Farbkorrektheit).C++ Videokomprimierungsbibliothek, die viele verschiedene Komprimierungsalgorithmen unterstützt?

Ich bin auf der Suche nach einer Bibliothek, die einfach in ein bestehendes C++ - Projekt integriert werden kann und mit verschiedenen Videokomprimierungsalgorithmen experimentieren kann.

Irgendwelche Vorschläge?

Antwort

2

Betrachten Sie FFmpeg. Es ist das ausgereifteste Open-Source-Tool für Videokomprimierung und -dekomprimierung. Es enthält ein Befehlszeilentool und Bibliotheken für Codecs und Muxer/Demuxer, die statisch oder dynamisch verknüpft werden können.

0

Wie bereits beantwortet, FFmpeg ist die erste Wahl für alle Dinge Multimedia. Ich wollte Ihnen jedoch einen einfacheren Weg vorschlagen, als zu versuchen, Ihr Programm an seine Bibliotheken anzuhängen. Es wäre wahrscheinlich viel einfacher für Sie, eine Sequenz von RGB-Bildern in Ihrem Programm zu erzeugen, jedes auf Disk auszugeben (vielleicht mit einem lächerlich einfachen format like PPM) und dann FFmpeg aus dem Befehl zu verwenden, um sie in einen richtigen Film zu komprimieren.

Dieser Arbeitsablauf könnte Ihre Prototyping- und Entwicklungszeit verkürzen.

Für den spezifischen Video Codec, den Sie verwenden möchten, haben Sie eine Fülle von Optionen zur Verfügung. Eine der wichtigsten Überlegungen wird sein: Wer muss in der Lage sein, Ihr Video zu spielen und welche Software wird es zur Verfügung haben?

Verwandte Themen