簡體   English   中英

如何將 .mov、.avi、.wmv 轉換為 mp4

[英]How to convert .mov, .avi, .wmv to mp4

我是 xuggler 的新手。 我願意使用 xuggler 將 .mov、.avi、.wmv 轉換為 mp4。 .mov 和 .wmv 先轉換為 flv,然后再轉換為 mp4。 有效。 但我想直接轉換為mp4。 但是 avi 既不能轉換為 flv 也不能轉換為 mp4。 我使用簡單的代碼。

IMediaReader reader = ToolFactory.makeReader("1.mov");
            reader.addListener(ToolFactory.makeWriter("wild.flv", reader));
            while(reader.readPacket() == null)
                ;

請幫我弄清楚。 謝謝

您可以嘗試以所需格式輸入和輸出。

   IMediaReader mediaReader = ToolFactory.makeReader(inputFilename);

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

    mediaReader.addListener(mediaWriter); 

    IMediaViewer mediaViewer = ToolFactory.makeViewer(true); 

     mediaReader.addListener(mediaViewer);

我會做這樣的事情:

 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 文件(Xuggler 通過擴展名計算轉換)。

您可以提高質量增加 kbps(即,對於 320 kbps,您需要傳入 320000)。

希望有幫助:-)

僅供參考:對於 Java 項目,如果您尚未導入以下內容,則需要導入:

import com.xuggle.mediatool.MediaListenerAdapter;
import com.xuggle.mediatool.event.IAddStreamEvent;
import com.xuggle.xuggler.IStreamCoder;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM