Video komprimieren



  • Erstens Einmal.. weiss nicht ob ich hier im richtigen Forum bin, falls nicht, bitte verschieben 😃

    Ich gehe ins Gymnasium und muss mich bald dafür entscheiden, was ich für eine Abschlussarbeit mache, an der ich ein Jahr lang arbeiten werde..
    Meine Idee war, dass ich versuche ein Programm zuschreiben das ein Video komprimiert, also den Videokomprimierungsalgorithmus möchte ich auch selber schreiben.

    Ist so etwas überhaupt annähernd realisierbar für jemanden wie mich, also jemanden der in diesem Bereich praktisch keine Erfahrung hat? 😃



  • Na nun, Du hast ja ein Jahr Zeit Dich mit der Umsetzung zu beschäftigen.
    Mach das aber im Borland Builder, ist besser.

    http://www.nextag.de/borland-builder/zzdezB1z0--suche-html?nxtg=3a560a2805f1-23CA2FAC0B1FF95B

    Kauf Dir den und dann geht’s auch schon los, der kostet auch nicht viel.

    Ich helf Dir dann auch, versprochen.

    Gruß



  • Sagmal bist du besoffen? Wieso sollte er sich den Borland Builder kaufen???
    So ein Unfug...

    @OP: nimm lieber ein Thema welches du selber einschätzen kannst, hm?



  • Ich bin nicht besoffen, ich trinke gar kein Alkohol.
    Aber der Borland Builder ist nun mal einfacher zu handhaben als Visual Studio von Microsoft. Ich bin immer mit den Borland Builder besten zu recht gekommen.
    Habe viel Software damit geschrieben, die ich dann auch verkauft habe.
    Diesen Erfolg hätte ich bestimmt nicht VS von Ms gehabt.
    Aber mach wie Du denkst...
    Das ist halt nun mein Steckenpferd.



  • Er hat nicht danach gefragt du Oberschlaumeier.



  • Ich muss "hustbaer" recht geben...

    Erstens ist der Borland Builder ein Wenig überholt.

    Zweitens sind die meisten sachen von MS Kostenlos (Gut und Schnell).

    und Drittens bist du mit der MSDN von MS besser bedient als mit der ("kleinen") hilfedatei vom Borland Builder. Bei MS greifst du in diesem Fall auf ein Riesiges Netzwerk von Tipps und Tricks zu die Dir meisstens noht sehr gut auf Deutsch erläutert werden.

    Das sind nur 3 dinge, es gibt natürlich viel mehr wie .NET http://de.wikipedia.org/wiki/.NET



  • Ich kauf mir sicher nicht den Borland Builder, nur schon weil ich als Schüler kein Geld übrig habe...

    Gibt es noch hoffnung das sich jemand ernsthaft zu meiner Frage äussert? Kann das überhaupt jemand beantworten hier?



  • Es kommt stark drauf an was du konkret machen willst. Prinzipiell ist Komprimierung von Multimediainhalten nicht trivial und man kann es praktisch beliebig komplex gestalten. Je nachdem was du aber erreichen willst, ist in einem Jahr sicherlich was machbar.

    Das einfachste ists wohl wenn man ein Video aus unkomprimierten Bitmaps hat welches man durch einfache Algorithmen verkleinern und bei Bedarf wieder dekomprimieren kann. Wenn man es dabei belässt und nicht fordert dass man das Video komprimiert abspielen können muss, dann ists relativ machbar.

    Muss man es aber komprimiert abspielen können wirds leicht sehr komplex weil du dann nen eigenen Decoder schreiben musst der das komprimierte Video aufbereitet dass es dann durch nen Player abgespielt werden kann. Schon ohne die Komprimierung ist der Decoder nicht trivial da du dich in andere Technologien wie vielleicht DirectX einarbeiten musst, die dann weniger Zeit für den eigentlichen Komprimierungsalgorithmus lassen.

    Also, je nachdem was du willst, kann man sicherlich was machen, man sollte die Arbeit aber auch nicht unterschätzen.

    Der wichtigste Punkt bei der Komprimierung wird wohl sein wie viel Mathematik man beherscht. Denken den hundertmilliardsten Zip Algo den es zu tausenden im Netz gibt will der Lehrer auch net sehen oder?



  • meine idee war schon, das sich dass ich ein Video in ein eigenes, neues format bringe (z.B. Standard DVD Format -> eigens Format) das sich dan in einem Player (den ich wahrscheinlich auch selber schreiben müsste..) abspielen lässt

    Was für bereiche der Mathematik müsste ich dann beherrschen?

    Ich glaube langsam dass meine Vorstellungen ein bisschen Wunschdenken sind.. andererseits soll man sich ja auch nicht zu wenig zumuten 😃
    Ich werde sicher noch ausführlich mit einem Lehrer der etwas ahnung davon hat (falls es sowas gibt bei uns) darüber sprechen..



  • Also "Thema welches du selber einschätzen kannst" war schon ernst gemeint 🙂

    Ansonsten... lies dir mal ein paar Seiten auf Wikipedia zu dem Thema durch, sowie zu den Themen

    * Entropy-Coding (speziell Huffman- und Range-Coding)
    * DCT (discrete cosine transform)
    * Wavelets
    * Motion-Compensation

    durch. Ein paar Artikel zu diesen Themen (z.B. von Wikipedia, die Artikel dort reichen für einen ersten Überblick gut aus) sollten dir helfen das besser einschätzen zu können. (Bis auf Huffman-Coding und Motion-Compensation sind dabei alle mathematisch nicht ganz anspruchslos)

    Ich persönlich würde sagen für jmd. der damit keine Erfahrung hat: eher keine Chance.

    Natürlich kannst du schnell irgendwas zusammenstoppeln was grässlich hässliche Bilder mit minimaler Kompression abliefert, aber ob das dann Sinn der Sache ist, bzw. ob du damit dann eine Freude hast ist fraglich.



  • Hustbaer hat ja nen paar Stichworte genannt. Im Prinzip spielen Funktionstransformationen ne große Rolle wenn man wirklich was ordentliches implementieren will. Nur sowas hat man soweit ich weiß noch nicht in der Schule, zumindest nichts fortgeschrittenes. Bei Videokompression sollte es ja darum gehen auszunutzen dass Videos für den Menschen viele redundante Informationen enthalten und nicht nur einfach paar Bits einsparen durch Komprimierung wie bei Archivformaten wie zip oder rar. Damit alleine kommt man nicht weit. Aber wenn man beachtet dass der Mensch sehr ähnliche Farben kaum unterscheiden kann und was es da noch so gibt, dann hat man recht großes Sparpotential. Sieht man ja bei modernen Codecs wie H264 die nur nen Bruchteil des Platzes des unkomprimierten Videos benötigen.



  • oke... ich glaube ich lasse das, gibt ohnehin schon genug solche Programme, so dass dies auch nicht wirklich viel sinn macht.. Ich mache wohl besser was einfacheres und komme dann (hoffentlich) auf ein vernünftiges Resultat. Ich glaube ich werde versuchen ein Rechenprogramm zu schreiben, das unter anderem Gleichungssysteme lösen kann, Graphen zeichnet, usw. (natürlich kann auch dies sehr komplex werden..)

    danke für die Informationen 😃



  • Ahja... Wenn C++ (C++/CLI) kein zwang ist, schau Dir parallel mal C# an. Das kann einiges an Zeit sparen bei der Implementierung. (Und wenn doch was native gemacht werden muss was in C# unschön ist, kann man mit C++/CLI ne Brücke schlagen.)



  • Ja klar, empfehlen wir jetzt nen Anfänger C++/CLI. C++/CLI is war für die grossen Jungs, man muss ja die Kleinen nicht gleich so verschrecken dass sie sich niemehr davon erholen.



  • Stell mal die Buddl bei Seite 🤡

    Ich verschreck ihn doch gar nicht. Für .Net krams ist aber C# deutlich besser unterstützt.



  • Ne du nicht, ich meine den Schrecken den er bekommt wenn er sich C++/CLI ansieht 😉


Anmelden zum Antworten