Wie aufzeichnen von video (UND audio) in python, die von einer Kamera (oder webcam)
ich bin auf der Suche nach einer Lösung, entweder in linux oder in windows, die ermöglicht es mir zu
- aufzeichnen von video (+audio) von meiner webcam & Mikrofon gleichzeitig.
- speichern Sie es als eine Datei.AVI oder mpg oder was auch immer)
- Anzeige des Videos auf dem Bildschirm während der Aufnahme
Kompression ist KEIN Problem, in meinem Fall, und ich eigentlich lieber capture RAW und komprimieren Sie es später.
Bisher habe ich es geschafft mit einer ActiveX-Komponente in VB die hat sich um alles gekümmert, und ich möchte die Fortschritte mit python (die VB-Lösung ist instabil, unzuverlässig).
so weit ich gesehen habe code, der fängt nur VIDEO, oder einzelne frames...
Ist, habe ich mich so weit an
- OpenCV - konnte nicht finden, dass audio capture dort
- PyGame - keine gleichzeitige Aufnahme von audio (AFAIK)
- Videoergreifung - nur einzelne frames.
- SimpleCV - keine audio -
- VLC - Bindung zu VideoLAN Programm in wxPthon - hoffentlich wird es nicht (immer noch die Untersuchung dieser option)
- kivy - nur davon gehört, es allerdings nicht schafft, es zu erhalten arbeitend unter windows, SO WEIT.
Die Frage - gibt es ein video & audio-capture-Bibliothek für python?
oder - was sind die anderen Optionen, falls vorhanden?
InformationsquelleAutor Berry Tsakala | 2013-01-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Antwort: Nein. Es gibt keine einzige Bibliothek/Lösung in python zu tun-video - /audio-Aufnahme gleichzeitig. Sie implementieren müssen, um beide separat und Zusammenführen der audio-und video-signal in eine intelligente Art und Weise zu Ende mit einer video - /audio-Datei.
Habe ich eine Lösung für das problem, das Sie präsentieren. Mein code-Adressen zu Ihren drei Fragen:
Meine Lösung verwendet
pyaudio
für audio-Aufnahme,opencv
für video-Aufnahme, undffmpeg
für das muxen der beiden Signale. Aufnehmen können beides gleichzeitig, ich benutze multithreading. Ein thread video-Aufzeichnungen, und eine zweite in der audio. Hochgeladen habe ich meinen code auf github und auch haben Sie alle wesentlichen Teile es hier.https://github.com/JRodrigoF/AVrecordeR
Hinweis:
opencv
ist nicht in der Lage zu kontrollieren, die fps, bei denen die webcamera funktioniert die Aufnahme. Es ist nur in der Lage, geben Sie in der Codierung der Datei die gewünschte fps, aber die webcamera in der Regel verhält sich unterschiedlich, je nach Spezifikationen und Bedingungen Licht (fand ich). Also die fps kontrolliert werden müssen auf der Ebene des Codes.wie Sie Unterstützung von mac os ?
Ich weiß nicht, ob die Bibliotheken verwendet, hier gibt es auch für python 3.
Habe keine Ahnung, wie Sie einen Bildlauf nach unten in einen mac. Sorry. Auch hier wichtig. Diese Lösung ist eine sehr strenge Lösung für die Probleme und Bedürfnisse der ursprünglichen Frage. Für eine wirkliche gute Lösung für video/audio-Aufnahme mit python, überprüfen Sie bitte die ffmpeg. Die wirkliche Magie und beste Lösung ist.
InformationsquelleAutor JRodrigoF
Würde ich empfehlen, ffmpeg. Es ist ein python-wrapper.
http://code.google.com/p/pyffmpeg/
InformationsquelleAutor Tuim
Ich habe auf der Suche um für eine gute Antwort auf diese, und ich denke, es ist GStreamer...
In der Dokumentation für die python-bindings extrem leicht, und die meisten schien es, drehte sich um die alte version 0.10 von GStreamer anstatt der neuen 1.X-Versionen, aber GStreamer ist ein extrem leistungsfähiges, plattformübergreifendes multimedia-framework, die streamen können, mux, transcode, und das display einfach über alles.
InformationsquelleAutor Kevin Hill