PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MPEG-Komprimierung


aths
2003-06-07, 17:16:41
Gibt es freie Bibliotheken, um unter Windows eine MPEG-Datei zu erstellen? Ein Programm, welches Einzelbilder berechnet, soll als Ausgabe ein MPEG-File schreiben.

micki
2003-06-07, 17:35:49
ich glaube das geht mit dem winapi, bin mir nicht sicher ob das teil nicht nur avis schreibt...

es gibt aber auch ne divx lib, falls du nicht unbedingt mpeg brauchst.

MfG
micki

Demirug
2003-06-07, 18:25:50
Also mit DirectShow kann man aus jeder einzelbild folge ein Video erzeugen lassen. Als Format ist dabei alles möglich solange man einen Encoder dafür hat. Nur bin ich mir jetzt nicht sicher ob es einen freien MPEG encoder gibt da MPEG ja kein freier Standard ist und bestimmten Lizenzbestimmungen unterliegt.

Nasenbaer
2003-06-08, 16:58:35
Original geschrieben von Demirug
Also mit DirectShow kann man aus jeder einzelbild folge ein Video erzeugen lassen. Als Format ist dabei alles möglich solange man einen Encoder dafür hat. Nur bin ich mir jetzt nicht sicher ob es einen freien MPEG encoder gibt da MPEG ja kein freier Standard ist und bestimmten Lizenzbestimmungen unterliegt.
Ich gehe mal von nein aus aufgrund der Tatsache, dass wohl da populärste frei Encoding-Programm, VirtualDub, gerade mal MPEG1 ein lesen kann und mit MPEG2 gar nicht zurecht kommt.

EDIT: Man könnte sich höchstens mal auf die Suche bei Sourceforge machen und sehen ob man da etwas findet. Ansonsten weiß ich auch nicht weiter.

Mfg Nasenbaer

micki
2003-06-08, 18:20:40
vielleicht kann man sich die referenzimplementation schnappen, davon müßte es ja irgendwo den source geben, weil der oft die basis für encoder ist.

ich weiß aber nicht, ob man den soo einfach bekommt.

rapso->greets();

aths
2003-06-09, 14:22:08
Also, um das zu spezifieren:

- Zusätzliche Optionen, irgendwelche anderen Formate im AVI-Container zu speichern, wären auch nicht schlecht.

- Es sollte aber auch die Möglichkeit bestehen, das als ganz normalen MPEG-Stream zu speichern. Kann ohne Audio-Spur sein, kann auch MPEG-1 sein.

micki
2003-06-09, 17:19:28
dann speicher jpegs hintereinander *g*
und bau dir dann nen player, der die hintereinander abspielt :)
hab ich früher als animatedtextures benutzt, läuft also recht gut und einfach.

(das an eine exe zu binden sollte nicht unmöglich sein :D)

MfG
micki

aths
2003-06-09, 19:51:05
Original geschrieben von micki
dann speicher jpegs hintereinander *g*
und bau dir dann nen player, der die hintereinander abspielt :)
hab ich früher als animatedtextures benutzt, läuft also recht gut und einfach.

(das an eine exe zu binden sollte nicht unmöglich sein :D)

MfG
micki *Grummel* Nicht umsonst fragte ich direkt nach MPEG, eben, um ein File zu erzeugen, was _abspielbar_ ist, auch auf Nicht-Windows-Rechnern.

Demirug
2003-06-09, 20:17:43
Öffne: http://www.mnsi.net/~jschlic1/

lade Sourcecode von avi2mpg1

entpacken

:o :O :kotz:

aths
2003-06-09, 22:21:16
Original geschrieben von Demirug
Öffne: http://www.mnsi.net/~jschlic1/

lade Sourcecode von avi2mpg1

entpacken

:o :O :kotz: Na toll, aber ehe ich das nutzen kann, müsste es erst mal eine AVI-Datei geben. Wie kreiere ich denn eine AVI-Datei? Am liebsten wäre es mir, nacheinander je den Pointer auf ein Array anzugeben welches das Einzelbild enthält.

Nasenbaer
2003-06-09, 22:38:45
Ich weiß ja nicht aber vielleicht hilft es dir den Aufbau einer AVI-File zu kennen, denn den gibt es hier:
http://www.wotsit.org/search.asp?page=4&s=ALLFILES

Mfg Nasenbaer

Demirug
2003-06-09, 22:57:47
Original geschrieben von aths
Na toll, aber ehe ich das nutzen kann, müsste es erst mal eine AVI-Datei geben. Wie kreiere ich denn eine AVI-Datei? Am liebsten wäre es mir, nacheinander je den Pointer auf ein Array anzugeben welches das Einzelbild enthält.

Nö du musst nur den AVI Decoder von MPEF Encoder trennen und du hast was du brauchst. :D

aths
2003-06-09, 23:15:24
Original geschrieben von Nasenbaer
Ich weiß ja nicht aber vielleicht hilft es dir den Aufbau einer AVI-File zu kennen, denn den gibt es hier:
http://www.wotsit.org/search.asp?page=4&s=ALLFILES

Mfg Nasenbaer Hilft praktisch nicht.

aths
2003-06-09, 23:15:52
Ich warte lieber auf Tipps, die mir weiterhelfen, z.B. MPEG-Komprimier-Tools, die mit der Kommandozeile zu bedienen sind und aus einer BMP-Folge einen MPEG-Stream machen.

zeckensack
2003-06-09, 23:21:35
Sowas (http://www.divx-digest.com/software/bmp2avi.html)???

aths
2003-06-10, 01:27:50
Hrn, von dort aus scheint man keinen DL machen zu können :(

Nasenbaer
2003-06-10, 10:07:20
Original geschrieben von aths
Hrn, von dort aus scheint man keinen DL machen zu können :(
Hab ebend die Command Line Version gezogen - läuft alles ohne Probleme.

Mfg Nasenbaer

aths
2003-06-10, 18:14:58
Ich kriegs nicht hin - im Notfall geb ich mir meine Mail-Adresse und bitte um Zustellung :)

aths
2003-06-10, 20:43:45
Original geschrieben von Demirug
Also mit DirectShow kann man aus jeder einzelbild folge ein Video erzeugen lassen.Wie funktioniert das?

Demirug
2003-06-10, 20:58:32
Original geschrieben von aths
Wie funktioniert das?

SDK herunterladen und Beispiel anschauen und RTFM.

Das ganze läst sich leider nicht einfach mit ein paar Worten erklären.

Marcel
2003-06-11, 00:12:19
Helfen Dir auch per Skript steuerbare Programme? TMPGEnc und bbMPEG fallen mir da ein, halt die Programme, die von Tools wie DVD2SVCD gesteuert werden.

aths
2003-06-11, 00:28:51
Original geschrieben von Marcel
Helfen Dir auch per Skript steuerbare Programme? TMPGEnc und bbMPEG fallen mir da ein, halt die Programme, die von Tools wie DVD2SVCD gesteuert werden. Mir helfen alle Programme, die den Zweck erfüllen, und die per Kommandozeilen-Aufruf (und ggf. mit vorher maschinell geschriebenen Script) die Arbeit erledigen.

Die genannten Programme sehe ich mir, wenn der Prüfungsstress etwas nachlässt, mal genauer an.

ScottManDeath
2003-06-13, 20:19:24
Hi

im directx sdk ist graphedit dabei , ein tool indem man graphisch alle filter zusammenklicken kann, ausserdem gibts im sdk beispiele für alle arten an filtern, habe mit recht geringem aufwand ein demo modifiziert um einen renderer u schreiben der über den parallel port eine led matrix ansteuert. Einfach mal reingucken, vielleicht hilfts ja

Bye
ScottManDeath

Crushinator
2003-06-19, 15:43:18
@aths

The MJPEG-Projekt (http://sourceforge.net/project/showfiles.php?group_id=5776) ist Dein Freund, wenn Du fließend C sprichst. :D

Ich empfehle die "mpeg2enc" Teile vom unter o.g. Site downloadbaren "mjpegtools-1.6.1".

...und dabei bitte immer an GPL denken. :flöt: