Wie zeichne ich Videos auf einer lokalen Festplatte in AIR auf?

8

Ich versuche, das Video und Audio einer Webcam in eine FLV-Datei aufzunehmen, die auf der lokalen Festplatte des Benutzers gespeichert ist. Ich habe eine Version dieses Codes, die NetConnection und NetStream verwendet, um das Video über ein Netzwerk zu einem FMS (Red5) -Server zu streamen, aber ich möchte das Video lokal für Situationen mit geringer Bandbreite / flockigem Netzwerk speichern können. Ich verwende FLex 3.2 und AIR 1.5, also glaube ich nicht, dass es irgendwelche Sandbox-Einschränkungen geben sollte, die dies verhindern.

Dinge, die ich gesehen habe:

  • FileStream - Erlaubt das Lesen lokaler Dateien, aber keine .attachCamera und. attachAudio-Methoden zum Erstellen eines FLV.
  • flvrecorder - Erzeugt Screenshots von der Webcam und erstellt eine eigene FLV-Datei. Unterstützt Audio nicht. Lizenz verbietet kommerzielle Nutzung.
  • SimpleFLVWriter.as - Ähnlich wie flvrecorder ohne die wierd Lizenz. Unterstützt kein Audio.
  • Dieser stackoverflow-Beitrag - der die Wiedergabe eines Videos von zeigt lokale Festplatte mit einer NetConnection / NetStream.

Da ich bereits eine Version habe, die NetStream verwendet, um auf den Server zu streamen, dachte ich, dass das letzte vielversprechendste sei, und habe diese Demo-Anwendung zusammengestellt. Der Code kompiliert und läuft ohne Fehler, aber ich habe keine FLV-Datei auf der Festplatte, auf die der Stop-Button geklickt wird.  -          

%Vor%

Es scheint mir, dass entweder etwas mit dem obigen Code nicht stimmt, was verhindert, dass es funktioniert, oder NetStream kann einfach nicht missbraucht werden, um Video aufzunehmen.

Was ich gerne wissen würde, ist a) Was (wenn überhaupt) stimmt nicht mit dem obigen Code? b) Wenn NetStream die Aufzeichnung auf Festplatte nicht unterstützt, gibt es noch andere Alternativen, die Audio UND Video in einer Datei auf der lokalen Festplatte des Benutzers erfassen?

Vielen Dank im Voraus!

    
Jim OHalloran 21.01.2010, 21:31
quelle

5 Antworten

2

Es ist nicht möglich, Videos direkt auf die lokale Festplatte zu streamen, ohne einen Streaming-Dienst wie Windows Media Encoder oder Red5 oder Adobes Medienserver oder etwas anderes zu verwenden.

Ich habe alle Proben im Internet ohne Lösung bis heute ausprobiert.

Sehen Sie sich diesen Link für eine andere Möglichkeit an:

Ссылка

    
ShaunOReilly 17.01.2012, 05:26
quelle
2

Meine Lösung bestand darin, Red5 in AIR einzubetten. Mit Ihnen meinen Artikel teilen

Ссылка

Im Allgemeinen besteht die Lösung darin, den freien Medienserver Red5 wie ein Asset in AIR einzubetten. Der Server wird daher im AIR-Anwendungsordner vorhanden sein. Über NativeProcess können Sie dann Red5 ausführen und die Instanz im Speicher haben. Als Ergebnis können Sie eine lokale Videoaufzeichnung ohne Netzwerkprobleme durchführen.

    
walv 12.01.2012 17:47
quelle
0

Ich versuche auch, das Gleiche zu tun, aber den Entwicklern von avchat.net wurde gesagt, dass dies momentan mit AIR nicht möglich ist. Wenn Sie herausfinden, wie es geht, würde ich gerne wissen!

Ich habe auch diesen Link gefunden, nicht sicher, wie hilfreich Ссылка

    
Ali G 12.03.2010 17:33
quelle
0

Nun, ich denke nur, dass es nicht funktioniert, wenn man es mit nichts verbindet (NULL). Ich habe ihn schon versuchen lassen, sich mit localhost zu verbinden, aber das hat auch nicht geklappt. Ich glaube nicht, dass das überhaupt möglich ist. Streaming-Video funktioniert nur mit Flash Media Server und Red5, nicht lokal. Vielleicht könnten Sie Red5 auf Ihrem PC installieren?

    
ProNoob13 25.04.2010 17:27
quelle
0

Leider ist Video-Unterstützung in Flash von Kameras sehr arm. Wenn Sie das Raw-Signal streamen, ist das Problem, dass Sie in FLV kodieren müssen und es in Echtzeit macht einen sehr schnellen Computer. Erste-Gen-Konzepte würden rohe Bitmaps in eine Datei schreiben (oder ein Array serialisieren), dann würde eine zweite Methode die Datei in eine FLV konvertieren. Grundsätzlich müssen Sie die Kamera abfragen und jedes Bild als Bitmap speichern und dann in einem Array stapeln. Dies ist sehr begrenzt und konnte keinen Ton erzeugen. Es war auch sehr schwierig, über 5-10 fps zu kommen.

Der Herr am Nullpunkt neun, kam mit einer neuen Version und Ihrem auf dem richtigen Weg. Schauen Sie sich den neuen Flv-Recorder an . Ich habe viel Zeit damit verbracht, damit zu arbeiten, aber ich habe es nie für meine Bedürfnisse verwendet (zwei Kameras). Ich konnte einfach nicht die FPS bekommen, die ich brauchte. Aber es könnte für dich funktionieren. Es war viel schneller als die ursprüngliche Methode.

Die einzige andere Arbeitsmöglichkeit, die ich kenne, ist, dass das Red5 das Video speichert und es zurück in die App lädt.

    
Ryan Mills 01.11.2011 18:55
quelle

Tags und Links