首页 > 编程语言 >音视频:JavaCV 视频转码(mkv转成mp4)(CPU)

音视频:JavaCV 视频转码(mkv转成mp4)(CPU)

时间:2022-12-31 10:11:06浏览次数:47  
标签:转码 grabber 音视频 mkv mp4 recorder

需要进行简单的音视频编程,如果不是特别数据C/C++,那么JavaCV应该是比较好的选择,下面记录一下JavaCV视频转码(非硬件加速)的方法。

这里是将mkv转化成mp4,其他方式也是可以的

1. 实现代码

使用FFmpegFrameGrabber读取需要转码的音视频帧,将音视频帧交给FFmpegFrameRecorder转码并写出。

public class Sample34 {
    public static void main(String[] args) throws IOException {
        FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("E:\\lpl.mkv");
        grabber.start();
        FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("E:\\lpl.mp4", grabber.getImageWidth(), grabber.getImageHeight(), grabber.getAudioChannels());
        recorder.setFormat("mp4");
        recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
        recorder.setFrameRate(grabber.getFrameRate());
        recorder.setVideoBitrate(grabber.getVideoBitrate());
        recorder.setAspectRatio(grabber.getAspectRatio());
        recorder.setAudioOptions(grabber.getAudioOptions());
        recorder.setSampleRate(grabber.getSampleRate());
        recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
        recorder.start();
        Frame frame;
        while (true) {
            frame = grabber.grabFrame();
            if (frame != null) {
                recorder.record(frame);
            } else {
                break;
            }
        }
        recorder.close();
        grabber.close();
    }
}

2. 效果展示

可以使用VLC播放转码后的mp4文件(转码后的mp4大小要比原始的mkv小得多):

使用mediainfo查看视频信息:

标签:转码,grabber,音视频,mkv,mp4,recorder
From: https://www.cnblogs.com/michong2022/p/17016262.html

相关文章

  • 音视频:JavaCV 采集摄像头和麦克风数据推送RTMP流
    需要进行简单的音视频编程,如果不是特别数据C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集桌面数据的方式。同时采集视频和音频需要最好采用不同的线程进......
  • 音视频:JavaCV 采集桌面画面并显示的方法
    需要进行简单的音视频编程,如果不是特别数据C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集桌面数据的方式。使用FFmpegFrameGrabber采集桌面数据,指定输入......
  • 音视频:JavaCV 两种摄像头视频数据采集的方法
    需要进行简单的音视频编程,如果不是特别数据C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集摄像头的两头方式。1.OpenCV使用OpenCVFrameGrabber采集指定......
  • 乐影音下载器(视频下载器) 英酷词典 音视频下载Chrome插件 必应好壁纸(必应壁纸)
    乐影音下载器(视频下载器)官方主页-iMath-博客园(cnblogs.com)英酷词典官方主页-iMath-博客园(cnblogs.com)音视频下载Chrome插件官方主页-iMath-博客园......
  • 音视频中的语音信号处理技术
    随着人工智能浪潮的到来,语音行业进入飞速发展时期,各大企业都在高薪寻觅从事语音技术的专业人才。作为语音行业中的音视频开发,越来越多的从业者开始接触和学习语音信号处理技......
  • 如何抓住社交风口下的音视频直播技术
    美国社交媒体巨头Facebook在4月发布了一系列以“音频社交”为核心的新产品。对于“久经沙场”的头号玩家,灵敏的商业嗅觉告诉他们,无论此时答案如何,快速跟进就对了。有人总......
  • 快速入门音视频技术的方法,有吗?
    最近有读者留言,说“想转行音视频开发,怎么做”,正巧,前几天我还在某乎上,看到有人在问音视频的学习资料,还是个大一的学生。 想说一句:真有眼光。 如今这个时代,想赚钱,一个共识是......
  • 直播预告 | 全场景音视频技术解析
    近年来,得益于移动互联网的普及和智能终端设备的广泛应用,短视频、直播、在线教育等各类形式的音视频业务场景风靡大众。但随着音视频应用越来越广泛,用户对于音视频服务的质量......
  • 音视频中的语音信号处理都包括哪些方向?
    随着人工智能浪潮的到来,语音行业进入飞速发展时期,各大企业都在高薪寻觅从事语音技术的专业人才。然而,语音信号处理包括语音增强、回声消除、麦克风阵列信号处理等多个研究方......
  • FS转码安装
    安装文件上传yuminstall-ywgettar-zxvfFS-G729-20.tarcdFS-G729-20/先编译FS,编译完后重名/root/FS-G729-20/freeswitch-1.6.20/src/mod/codecs/#mod_opus#这个......