美文网首页
12 Java ffmpeg 例子

12 Java ffmpeg 例子

作者: 斌雅读书 | 来源:发表于2020-09-23 13:52 被阅读0次

    从通用AVI到类似YouTube的FLV电影,并带有嵌入式MP3音频流:

    File source = new File("source.avi");
    File target = new File("target.flv");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("libmp3lame");
    audio.setBitRate(new Integer(64000));
    audio.setChannels(new Integer(1));
    audio.setSamplingRate(new Integer(22050));
    VideoAttributes video = new VideoAttributes();
    video.setCodec("flv");
    video.setBitRate(new Integer(160000));
    video.setFrameRate(new Integer(15));
    video.setSize(new VideoSize(400, 300));
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("flv");
    attrs.setAudioAttributes(audio);
    attrs.setVideoAttributes(video);
    Encoder encoder = new Encoder();
    encoder.encode(source, target, attrs);
    

    接下来的几行从AVI中提取音频信息,并将它们存储在一个普通的WAV文件中:

    File source = new File("source.avi");
    File target = new File("target.wav");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("pcm_s16le");
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("wav");
    attrs.setAudioAttributes(audio);
    Encoder encoder = new Encoder();
    encoder.encode(source, target, attrs);
    

    下一个示例获取一个音频WAV文件,并生成一个128 kbit / s,立体声,44100 Hz MP3文件:

    File source = new File("source.wav");
    File target = new File("target.mp3");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("libmp3lame");
    audio.setBitRate(new Integer(128000));
    audio.setChannels(new Integer(2));
    audio.setSamplingRate(new Integer(44100));
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("mp3");
    attrs.setAudioAttributes(audio);
    Encoder encoder = new Encoder();
    encoder.encode(source, target, attrs);
    

    接下来的一个解码一个通用的AVI文件,并使用源的相同视频流和一个重新编码的低质量MP3音频流创建另一个文件:

    File source = new File("source.avi");
    File target = new File("target.avi");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("libmp3lame");
    audio.setBitRate(new Integer(56000));
    audio.setChannels(new Integer(1));
    audio.setSamplingRate(new Integer(22050));
    VideoAttributes video = new VideoAttributes();
    video.setCodec(VideoAttributes.DIRECT_STREAM_COPY);
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("avi");
    attrs.setAudioAttributes(audio);
    attrs.setVideoAttributes(video);
    Encoder encoder = new Encoder();
    encoder.encode(source, target, attrs);
    

    下一个生成带有MPEG 4 / DivX视频和OGG Vorbis音频的AVI:

    File source = new File("source.avi");
    File target = new File("target.avi");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("libvorbis");
    VideoAttributes video = new VideoAttributes();
    video.setCodec("mpeg4");
    video.setTag("DIVX");
    video.setBitRate(new Integer(160000));
    video.setFrameRate(new Integer(30));
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("mpegvideo");
    attrs.setAudioAttributes(audio);
    attrs.setVideoAttributes(video);
    Encoder encoder = new Encoder();
    encoder.encode(source, target, attrs);
    

    适用于智能手机的视频:

    File source = new File("source.avi");
    File target = new File("target.3gp");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("libfaac");
    audio.setBitRate(new Integer(128000));
    audio.setSamplingRate(new Integer(44100));
    audio.setChannels(new Integer(2));
    VideoAttributes video = new VideoAttributes();
    video.setCodec("mpeg4");
    video.setBitRate(new Integer(160000));
    video.setFrameRate(new Integer(15));
    video.setSize(new VideoSize(176, 144));
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("3gp");
    attrs.setAudioAttributes(audio);
    attrs.setVideoAttributes(video);
    Encoder encoder = new Encoder();
    encoder.encode(source, target, attrs);
    

    相关文章

      网友评论

          本文标题:12 Java ffmpeg 例子

          本文链接:https://www.haomeiwen.com/subject/aonbyktx.html