首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将.mov、.avi、.wmv转换为mp4

如何将.mov、.avi、.wmv转换为mp4
EN

Stack Overflow用户
提问于 2014-08-01 17:28:22
回答 2查看 6K关注 0票数 2

我是新来的。我愿意转换.mov,.avi,.wmv到mp4使用xuggler。.mov和.wmv先转换为flv,然后再转换为mp4。啊,真灵。但是我想直接转换成mp4。但avi既不能转换为flv,也不能转换为mp4。我使用简单的代码。

代码语言:javascript
复制
IMediaReader reader = ToolFactory.makeReader("1.mov");
            reader.addListener(ToolFactory.makeWriter("wild.flv", reader));
            while(reader.readPacket() == null)
                ;

请帮我弄清楚。谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-08-01 17:48:24

您可以尝试以所需的格式进行输入和输出。

代码语言:javascript
复制
   IMediaReader mediaReader = ToolFactory.makeReader(inputFilename);

   IMediaWriter mediaWriter = ToolFactory.makeWriter(outputFilename, mediaReader); 

    mediaReader.addListener(mediaWriter); 

    IMediaViewer mediaViewer = ToolFactory.makeViewer(true); 

     mediaReader.addListener(mediaViewer);
票数 1
EN

Stack Overflow用户

发布于 2014-08-01 17:50:43

我会这样做:

代码语言:javascript
复制
 public void convertToMP3(File input, File output, int kbps) { //modify on your convenience
        // create a media reader
        IMediaReader mediaReader = ToolFactory.makeReader(input.getPath());

        // create a media writer
        IMediaWriter mediaWriter = ToolFactory.makeWriter(output.getPath(), mediaReader);

        // add a writer to the reader, to create the output file
        mediaReader.addListener(mediaWriter);

        // add a IMediaListner to the writer to change bit rate
        mediaWriter.addListener(new MediaListenerAdapter() {
            @Override
            public void onAddStream(IAddStreamEvent event) {
                IStreamCoder streamCoder = event.getSource().getContainer().getStream(event.getStreamIndex()).getStreamCoder();
                streamCoder.setFlag(IStreamCoder.Flags.FLAG_QSCALE, false);
                streamCoder.setBitRate(kbps);
                streamCoder.setBitRateTolerance(0);
                }
            });

        // read and decode packets from the source file and
        // and dispatch decoded audio and video to the writer
        while (mediaReader.readPacket() == null);
    }

输入是你想要转换的文件(aac/wav/wma),输出是一个新的.mp3文件(通过扩展名来计算转换)。

可以增加kbps的质量(即320kbps需要传入320000)。

希望这能有所帮助:-)

仅供参考:对于Java项目,如果您尚未导入以下内容,则需要导入:

代码语言:javascript
复制
import com.xuggle.mediatool.MediaListenerAdapter;
import com.xuggle.mediatool.event.IAddStreamEvent;
import com.xuggle.xuggler.IStreamCoder;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25077054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档