Laden...

MJPEG Stream aufzeichnen

Erstellt von Dragon-Sword vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.338 Views
D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 14 Jahren
MJPEG Stream aufzeichnen

Hallo zusammen,

ich habe eine IP-Kamera von Logilink und bekomme einen MJPEG Stream,
diesen kann ich anzeigen, nun würde ich diesen noch gerne komprimiert abspeichern.

Vielen Dank schon mal im vorraus.

Gelöschter Account
vor 14 Jahren

und wobei hast du probleme?

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 14 Jahren

ich verstehe nicht wie man den stream in eine datei speichert.

Gelöschter Account
vor 14 Jahren

über ein filestrem. schau mal in die msdn "Streamwriter" oder die ganzen anderen streams... mit File.Open bekommst du ja schon einen in die hand.

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 14 Jahren

ich würde den stream gerne in einem format, das man einfach im media player anschauen kann abspeichern.

Gelöschter Account
vor 14 Jahren

du musst auch schon immer dazu sagen, wo du konkrete probleme hast....
immer nur zu schreiben "ich würde gern das und das machen" ist nciht ausreichend!

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 14 Jahren

OK, ich verwende den avifil32.dll und möchte
diese Optionen im Code fest hinterlegen, weiß aber nicht wie


Avi.AVISaveOptions(IntPtr.Zero, Avi.ICMF_CHOOSE_KEYFRAME | Avi.ICMF_CHOOSE_DATARATE, 1, ref aviStream, ref options);
Avi.AVISaveOptionsFree(1, ref options);

so habe ich es probiert aber die erzeugte datei ist zu groß:


Avi.AVICOMPRESSOPTIONS opts = new Avi.AVICOMPRESSOPTIONS();
            opts.fccType = (UInt32)Avi.mmioStringToFOURCC("vids", 0);
            opts.fccHandler = (UInt32)Avi.mmioStringToFOURCC("CVID", 0);
            opts.dwKeyFrameEvery = 0;
            opts.dwQuality = 10000;  // 0 .. 10000
            opts.dwFlags = 0;  // AVICOMRPESSF_KEYFRAMES = 4
            opts.dwBytesPerSecond = 0;
            opts.lpFormat = new IntPtr(0);
            opts.cbFormat = 0;
            opts.lpParms = new IntPtr(0);
            opts.cbParms = 0;
            opts.dwInterleaveEvery = 0;
            this.compressOptions = opts;

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 14 Jahren

kann mir jemand erklären, wie ich meine .avi in ein .mpeg konvertieren kann.

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo the-cook,

mit einem entsprechenden Konverterprogramm. Das gibt es sicher auch kommandozeilenbasierte, so dass man die Konvertierung aus dem eigenen C#-Programm heraus starten kann (Process.Start).

Bevor du fragst, ich habe kein besonderes Tool im Auge, sondern müsste genau wie du erst die üblichen Freeware-Seiten abgrasen oder Google bemühen.

herbivore

C
114 Beiträge seit 2008
vor 14 Jahren

Du könntest theoretisch auf ffmpeg zurückgreifen. Ist natürlich in C++ geschrieben, aber sollte möglich sein. Die lib wird unter GPL veröffentlicht.

Zur AviFile Library: Auf Codeproject gibt es dazu ne nete Demo.

„Heute back ich, morgen brau ich,
übermorgen cast ich die Königin nach int;
ach, wie gut dass niemand weiß,
dass ich Rumpelstilzchen heiß!“

"Bei Stylefragen sollteste nen Mac-User oder ne Frau fragen."

T
433 Beiträge seit 2006
vor 14 Jahren

Hi,

könntest dir auch die AForge.Net Lib anschauen. Dort gibts auch einen AVIWriter.

Gruß,
Tom