6 Stimmen

Wav-Datei aus Videodatei extrahieren

Ich entwickle eine Anwendung, in der ich den Ton aus einem Video extrahieren muss. Der Ton muss im .wav-Format extrahiert werden, aber ich habe kein Problem mit dem Videoformat. Jedes Format ist möglich, solange ich den Ton in eine wav-Datei extrahieren kann.

Derzeit verwende ich das COM-Steuerelement des Windows Media Player in einem Windows-Formular, um die Videos abzuspielen, aber auch jeder andere eingebettete Player ist geeignet.

Haben Sie einen Vorschlag, wie man das machen kann? Danke

3voto

Tomi Paananen Punkte 86

Wenn Sie dies mit C# tun wollen, sehen Sie sich NAudio-Bibliothek . Er kann das Audioformat (wie FFMpeg) analysieren und auch den Audiostrom bereitstellen. Hier ist ein Beispiel .

Ausschnitt aus dem Beispiel:

using NAudio.Wave;
using System.IO;

...

// contentAsByteArray consists of video bytes
MemoryStream contentAsMemoryStream = new MemoryStream(contentAsByteArray);

using (WaveStream pcmStream =
    WaveFormatConversionStream.CreatePcmStream(
        new StreamMediaFoundationReader(contentAsMemoryStream)))
{
    WaveStream blockAlignReductionStream = new BlockAlignReductionStream(pcmStream);

    // Do something with the wave stream
}

2voto

Chris Punkte 38327

Wahrscheinlich ist es am einfachsten, ffmpeg für diese Art von Dingen zu verwenden...

2voto

Shay Erlichmen Punkte 31367

Hier ist ein Link wie man mit GraphEdit Audio extrahiert, GraphEdit ist eine Benutzeroberfläche für die DirectShow-API Alles, was es kann, kann man also auch mit API machen.
Sie können die DirectShow.NET Freiheit, die die DirectShow-API für die verwaltete Welt umhüllt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X