Frage

Ich habe G729 Audio-Dateien verschlüsseln. Ich muss programmatisch sie in WAV PCM konvertieren (16bit 8 kHz Mono) in der Strömung eines Werkzeugs, das auch andere Sache tut. Ich habe eine ausführbare Datei, die das für mich tun. Aber Laichen, dass externe Prozess jedes Mal, wenn ich konvertieren, um auf Ressourcen zu schwer. Vor allem, wenn ich viele von ihnen brauchen werden parallel durchgeführt. Suchen Sie eine .NET-Bibliothek oder Code, die ich in meinem Prozess nennen lassen.

War es hilfreich?

Lösung

Folgen Sie diesem Link: The VoiceAge öffnen G.729 Implementierung . Sie bieten auch G729-Decoder und Encoder in C geschrieben.

Andere Tipps

Laut Wikipedia umfasst G.729 mehrere Patente und lizenziert von Sipra , so dass Sie wahrscheinlich gewonnen‘ t haben viel Glück eine entsprechende lobrary zu finden. Es sei denn, Sie eine große Anzahl von sehr kleinen Dateien sind Decodierung, die Kosten für einen neuen Prozess des Laich nicht so groß im Vergleich zu den Kosten zu tun, die Decodierung sein sollten, so würde ich sagen, verwenden Sie die ausführbare Datei Sie haben.

Soweit Ressourcen gehen, ja, erfordern Laich Prozesse viel mehr Ressourcen im Vergleich zu Threads. Dies sollte eigentlich keine Rolle, obwohl, so lange, wie Sie nur so viele Prozesse Laichen wie Sie Kerne in Ihrem Rechner haben. mehr Prozesse Laichen nur Ressourcen verschwendet und Sie keine zusätzliche Parallelität gewinnen.

Wikipedia sagt: „G.729 Patente aus mehreren Unternehmen ein und wird von Sipro lizenziert ( http: // www. sipro.com/ ). In einer Reihe von Ländern, die Verwendung von G.729 kann eine Lizenzgebühr und / oder Lizenzgebühr verlangen. "

Aber ich denke, Sie haben bereits in Betracht gezogen, dass in Ihrer Anwendung.

Wenn Sie unbedingt in-Prozess sein muss, eine Lösung (nicht sagen, es ist das Beste) könnte libavcodec zu verwenden, die unter der LGPL ist.

Eine Free-to-use-Referenzimplementierung unter: http://www.readytechnology.co.uk/open/ipp-codecs-g729-g723.1/

die Patentfragen Hinweis von anderen angehoben, die Tatsache, dass die Referenzimplementierung läuft nur auf Intel-Prozessoren und dass Sie Intel eine Gebühr zu zahlen, um benötigen Code mit ihrer IPP-Bibliothek als Teil eines kommerziellen Produkts zu verteilen.

Wenn Sie einen ACM-Codec auf Ihrem System für G729 haben, dann können Sie verwenden, NAudio es zu konvertieren PCM. Haben Sie einen gehen die NAudioDemo Anwendung enthalten mit NAudio, die Ihnen zeigen, was ACM-Codecs auf Ihrem System verfügbar sind, und entschlüsseln Sie eine Datei mit ihnen.

Was fordert mich zuerst, wenn es um G729-Wandler kommt, ist ITU G729-A standards.One recht umständlich Weise G729 zu konvertieren ist, sie PCM zuerst eine WAV-Header vor dem wav aufaddieren files.That eine .wav-Konstrukte aus .g729.Since ITU offizielle G729a (und offiziell nicht unterstützt Multi-Thread ...) lib hoch in dieser Idee beteiligt ist, ich denke, man Gleichzeitigkeit haben zu prüfen, und, wie man richtig mit einem Bündel von statischen Variablen innerhalb G729a lib.I programmieren verwenden in einem kleinen Projekt zu beteiligen wie OP descibes und ich im Grunde große G729-Dateien in G729 Stücke und dekodieren sie einzeln in einer Art und Weise der angemessenen Gleichzeitigkeit Programmierung ...

aufgeteilt

Wenn Sie nur den Codec für die Datei benötigt, um sehen möchten dann gehen Sie auf GSopt und downloaden Sie die neueste Version davon (man kann href="http://www.headbands.com/gspot/gspot252dl.html" klicken direkt auf die Download-Seite öffnen).

Nach dem Download, extrahieren Datei Ordner öffnen und die EXE ausführen möchten, wählen Sie nun die Datei aus der Schaltfläche Durchsuchen und nach Datei geladen wird, alle ihre Informationen werden angezeigt. (Wenn die Datei in den browse dialogue box nur wählen All Files(*.*) von browse file dialogue nicht gezeigt)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top