Ich arbeite mit einem Echtzeit-Video-Recorder, aber wenn ich Videos aufnehme, ist die Größe des Videos wirklich riesig! Es ist wie 50MBps. Im mit Bibliotheken DirectX
und DirectShowLib
Bessere Komprimierung mit DirextX.Filters.VideoCompressor
ich verwendet, um die folgenden VideoCompressor
capture.VideoCompressor = Filters.VideoCompressors(0)
Nicht das Video wie 5Mbps ist, aber immer noch das ist sehr riesig!
Der Name des Compressors für diesen Index lautet DV Video Encoder. Und hier die Liste des Video-Encoder sind von 0
DV Video Encoder
ffdshow video encoder
MJPEG Compressor
MSScreen 9 encoder DMO
UtVideo Pro YUV422 10bit DMO
UtVideo RGB DMO
UtVideo RGBA DMO
UtVideo YUV420 BT.601 DMO
UtVideo YUV420 BT.709 DMO
UtVideo YUV422 BT.601 DMO
UtVideo YUV422 BT.709 DMO
WMVideo8 Encoder DMO
WMVideo9 Encoder DMO
Aber leider DV-Video-Encoder mit dem Index von 0 funktioniert nur mit dem obigen Code, oder aber, wenn ich zu Filers.VideoCompressors ändern beginnen (1), der ffdshow Video-Encoder, gibt es mir einen Fehler
Error HRESULT E_FAIL has been returned from a call to a COMP component.
Jede Chance, es effektiv zu komprimieren? Oder sollte ich ffmpeg verwenden? Wenn ja, wie könnte ich ffmpeg komprimieren, während das Video läuft?
Danke.