使用Java转换为FLV

时间:2010-06-02 21:14:48

标签: java video ffmpeg flv

有没有人知道如何使用java将任何类型的视频格式转换为flv,我一直在寻找用于转换视频的java api但似乎没有这样的东西,但可能有办法做到这一点,我意味着像youtube服务一样转换视频,但是使用java,我需要一个可以将视频显示为FLv格式但可以以任何格式上传的网络应用程序,如果有人做过这样的事情,请告诉我怎么做或任何想法,

感谢。

3 个答案:

答案 0 :(得分:4)

使用xuggler,这是一段简单的代码,可以完全满足您的要求:

public class AnyMediaConverter {
    public void main(String[] args) {
        //assumes the following: arg0 is input file and arg1 is output file
        IMediaReader reader = ToolFactory.makeReader(args[0]);
        IMediaWriter writer = ToolFactory.makeWriter(args[1], reader);
        writer.open();
        writer.setForceInterleave(true);
        IContainerFormat outFormat = IContainerFormat.make();
        outFormat.setOutputFormat("flv", args[1], null);
        IContainer container = writer.getContainer();
        container.open(args[1], IContainer.Type.WRITE, outFormat);
        writer.addVideoStream(0, 0, ICodec.findEncodingCodecByName("flv"), 320, 240);
        writer.addAudioStream(1, 0, ICodec.findEncodingCodecByName("libmp3lame"), 2, 44100);
        reader.addListener(writer);
        while (reader.readPacket() == null);
    }
}
现在尝试在JMF或FMJ中做任何事情(如果你想头疼)

答案 1 :(得分:1)

Java中没有人直接想到,即使Java自己的媒体框架JMF也不支持FLV,但您可能会发现this overview of Open Source Flash Projects很有用。如果任何非Java命令行工具对您有用,那么您可以使用Runtime#exec()tutorial here)或最好ProcessBuildertutorial here)从Java内部执行它

答案 2 :(得分:0)

插入JMF的ffmpeg包装器:Fobs4JMF