baba
baba

Reputation: 55

Xuggler Video To Audio conversion

I am converting video to audio using Xuggler library in Java. There are no errors or exceptions arising in the program but the audio file generated is 0 Kb. Could someone fix the problem?

Environment: Eclipse Helios, OS: Windows 7

External JAR libraries added to project:

(1)slf4j-api-1.7.7.jar
(2)slf4j-simple-1.7.7.jar
(3)xuggle-xuggler-5.4.jar

Code snippet for video to audio conversion.

import com.xuggle.mediatool.IMediaReader; 
import com.xuggle.mediatool.IMediaWriter; 
import com.xuggle.mediatool.ToolFactory; 
import com.xuggle.xuggler.ICodec; 

public class VideoToAudio{

    public void convertVideoToAudio(){
        IMediaReader reader = ToolFactory.makeReader("D://vid.mp4");
        IMediaWriter writer = ToolFactory.makeWriter("D://a.mp3",reader);

        int sampleRate = 44100;
        int channels = 1;

        writer.addAudioStream(0, 0, ICodec.ID.CODEC_ID_MP3, channels, sampleRate);
        while (reader.readPacket() == null);
    }

    public static void main(String [] args){
        VideoToAudio vta = new VideoToAudio();
        try{
            vta.convertVideoToAudio();
        }
        catch(Exception e){
            System.out.println("Could not open video file");
        }
    }
}

Upvotes: 2

Views: 2186

Answers (1)

cagigas
cagigas

Reputation: 49

Your program looks fine, you just forgot a line :)

public void convertVideoToAudio(){
    IMediaReader reader = ToolFactory.makeReader("D://vid.mp4");
    IMediaWriter writer = ToolFactory.makeWriter("D://a.mp3",reader);

    int sampleRate = 44100;
    int channels = 1;

    writer.addAudioStream(1, 0, ICodec.ID.CODEC_ID_MP3, channels, sampleRate);
->  reader.addListener(writer);

    while (reader.readPacket() == null);
}

Upvotes: 1

Related Questions