Unter Linux habe ich GStreamer in meiner Arbeit unglaublich mächtig gefunden . Es verfügt über eine Vielzahl von Plug-Ins, die zum Erfassen, Manipulieren, Transkodieren usw. verwendet werden können. Es ist in den Paketverwaltungs-Repositories aller großen Linux-Distributionen enthalten, die ich je gesehen habe, obwohl es eine Reihe verschiedener Pakete sein kann (Gut, Bad Ugly) aufgrund von Lizenzproblemen.
Es ist ein wenig entmutigend, es zu verwenden, wenn es von der Kommandozeile aus verwendet wird, arbeitet es auf Pipeline-Basis, ähnlich wie die Konsole selbst. Die folgende Pipeline erfasst beispielsweise Videos von einer Webcam und speichert sie als H264-codierte MKV-Datei.
gst-launch v4l2src ! x264enc ! matroskamux ! filesink location=webcam.mkv
Nun, die Pipelines unterscheiden sich natürlich je nach Ihren Umständen. Einige allgemeine Regeln sind jedoch richtig - Sie benötigen immer mindestens eine Quelle und eine Senke. Wenn Sie ein Video codiert haben, möchten Sie es in der Regel auch muxen.
Edit: Ich sollte auch beachten, dass es ein C SDK für diejenigen gibt, die es als Teil einer C / C ++ - Anwendung verwenden möchten.