8

だから、私は Android 用のカスタム ビデオ プレーヤーを開発していますが、Android がサポートするビデオ ファイル以上のものを再生する必要があります。(mp4, 3gp...), like wmv, avi, flv.

現時点で、私はすでに任意のビデオ タイプを .mp4 に変換しており、再コーディング後にそれらを再生できますが、これらwmvaviファイルをmp4ビデオ フォーマットに再コーディングせずに再生する方法がわかりません。

再コーディングせずに Android でビデオを再生する方法はありますか? JavaCV+FFmpegライブラリは既に機能していますが、その方法がわかりません。

ちなみに、私がビデオを再コード化するために使用しているコードは次のとおりです。

public static void convert(File file) {

    FFmpegFrameGrabber frameGrabber =
            new FFmpegFrameGrabber(file.getAbsolutePath());

    IplImage captured_frame = null;

    FrameRecorder recorder = null;
    recorder = new FFmpegFrameRecorder("/mnt/sdcard/external_sd/videosteste/primeiroteste.mp4", 300, 300);
    recorder.setVideoCodec(13);
    recorder.setFrameRate(30);
    recorder.setFormat("mp4");
    try {
        recorder.start();
        frameGrabber.start();
        while (true) {
            try {
                captured_frame = frameGrabber.grab();

                if (captured_frame == null) {
                    System.out.println("!!! Failed cvQueryFrame");
                    break;
                }
                recorder.record(captured_frame);
            } catch (Exception e) {
            }
        }
        recorder.stop();
        recorder.release();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
4

2 に答える 2