首页 > 其他分享 >视频转音频

视频转音频

时间:2023-11-10 10:12:38浏览次数:26  
标签:视频 String 音频 ffr ffg audioPath frame

目录

视频转音频

1. maven依赖

<!--视频&音频处理-->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.5</version>
</dependency>

2. 实例

    /**
     * 视频(mp4|avi)转音频(MP3|WAV)
     * WAV要求-
     * 1.音频编码:pcm_s16le
     * 2.单声道
     * 3.音频采样率: 16000hz
     * 4.比特率 256kbps
     * @param videoPath
     * @param audioPath
     * @return
     */
    public static boolean convertVideoToAudio(String videoPath, String audioPath){
        boolean flag = false;
        String format = "wav";  // 转写的格式
        FFmpegFrameGrabber ffg = new FFmpegFrameGrabber(videoPath);
        Frame frame = null;
        FFmpegFrameRecorder ffr = null;
        try{
            ffg.start();
            ffr = new FFmpegFrameRecorder(audioPath, ffg.getAudioChannels());
            ffr.setFormat(format);  // 音频编码格式
//            ffr.setSampleRate(ffg.getSampleRate()); // 音频采样率
            ffr.setSampleRate(16000); // 音频采样率
            ffr.setTimestamp(ffg.getTimestamp());  // 音频时长
            ffr.setAudioChannels(1);  // 单声道
            ffr.setVideoBitrate(256); // 比特率
            ffr.setAudioQuality(0);  // 音频质量
            ffr.start();
            int index = 0;
            while (true){
                frame = ffg.grab();
                if (frame == null){
                    break;
                }
                if (frame.samples != null){
                    ffr.recordSamples(frame.sampleRate, frame.audioChannels, frame.samples);
                }
                index ++;
            }
            ffr.stop();
            ffr.release();
            ffg.stop();
            flag = true;
        }catch (Exception e){
            e.printStackTrace();
            log.error("视频转音频({}->{})异常:{}", videoPath, audioPath, String.valueOf(e));
        }
        log.info("视频转音频({}->{}):{}", videoPath, audioPath, flag);
        return flag;
    }

    public static void main(String[] args) {
        convertVideoToAudio("F:\\test\\video\\tmp\\10.mp4", "F:\\test\\video\\mp3\\10.wav");
    }

image

image


标签:视频,String,音频,ffr,ffg,audioPath,frame
From: https://www.cnblogs.com/fsh19991001/p/17823466.html

相关文章

  • TSINGSEE智慧冶金工厂可视化AI视频智能监管方案,助力安全生产
    一、背景与需求有色金属冶炼工艺复杂,推进互联网、大数据、人工智能、5G、边缘计算、虚拟现实等前沿技术在有色冶炼工厂的应用,建成全流程综合集成信息管控平台、实现全要素数据可视化在线监控,已经成为当前冶金企业升级转型的主要建设目标。《有色金属行业智能工厂(矿山)建设指南》指出......
  • LiteCVR智慧工厂视频监控方案,助力工厂智慧管理
    在现代化企业中,工厂实施安防视频监控系统,安全保卫部门可以实现在企业厂区门口、厂房、办公楼、周界围墙、仓库等目标进行实时全天候视频监控。一、建设目标1)根据园区要求,搭建重点部位人脸识别动态布控系统平台,基于LiteCVR视频技术建立一套具有动态人脸识别自动预警系统,对接入系......
  • TSINGSEE智慧冶金工厂可视化AI视频智能监管方案,助力安全生产
    一、背景与需求有色金属冶炼工艺复杂,推进互联网、大数据、人工智能、5G、边缘计算、虚拟现实等前沿技术在有色冶炼工厂的应用,建成全流程综合集成信息管控平台、实现全要素数据可视化在线监控,已经成为当前冶金企业升级转型的主要建设目标。《有色金属行业智能工厂(矿山)建设指南》......
  • TSINGSEE视频智能分析人员入侵AI检测算法如何让城市管理更加高效、智慧?
    在城市管理场景中,经常面临着禁区垂钓、非法捕捞、行人闯红灯、小区盗窃、车辆乱停乱放等一系列管理难题,这给城市发展带来了不小的阻力,同时也极易增加管理的人力、物力和财力。传统的人员巡逻监管效率低并且存在时间差,很难及时发现这些违规行为,因此,利用AI智能检测技术,尤其是人员入......
  • 从零开始的Android音视频学习(二)
    AudioRecord录制PCM音频看一下AudioRecord安卓源码的构造函数(targetAPi29)主要看一下几个参数audioSource声音来源,参考MediaRecorder.AudioSource这里的种类还比较多,暂时先使用MIC,其他的后续用到再说吧sampleRateInHz音频采样率注释上说44100Hz是全部设备都支持的,其他的......
  • 多人语音聊天与视频交友APP,开启社交新时代!
     引领潮流,社交新风尚你是否厌倦了传统的社交方式?是否期待与全球各地的小伙伴一起畅所欲言、分享快乐?我们为你带来全新的多人语音聊天和视频交友APP,让你感受前所未有的社交体验,成为引领社交新时代的潮流先锋!功能强大,满足多元需求多人语音畅聊:无论你是与朋友相聚,还是与家人团圆......
  • Go语言开发Web网站实现流媒体,Web视频网站的关键技能
    Go语言开发Web网站实现流媒体,Web视频网站的关键技能一,流媒体直播框架分析Golang是一门高并发、高性能的编程语言,非常适合用于流媒体直播等实时场景。下面是几个比较常用的Golang流媒体直播框架:go-rtmp:一个基于Go的RTMP服务器和客户端库,支持RTMP直播推流和拉流。An......
  • 课程详情接口、所有章节接口、课程列表前端、课程详情前端、视频托管、Header.vue搜索
    课程详情接口#思路一:直接在之前写好的查询所有课程的视图类上,配置一个类即可classCourseView(GenericViewSet,CommonListModelMixin,CommonRetrieveModelMixin)返回的字段,跟详情,不太对应(详情中要求拿出所有章节和课时,但实际上只返回了4个课时)序列化类---》重......
  • 用Electron开发一个视频压缩软件
    前段时间用Electron开发了一个图片压缩软件,使用起来很好,然后又想到何不再做一个视频压缩的?公司网站上视频蛮多,每月消耗流量也不是个小数目,这都是钱啦,在清晰度可接受的范围内把视频压缩下,有可能就省一半的流量费。说干就干,开始查资料,首先找到的就是FFMPEG,它号称多媒体业界的瑞士军......
  • LiteCVR接入监控摄像头后,有视频流无丢包现象,视频无法播放是什么原因?
    随着科技的进步,视频监控系统的存储方式将越来越多地转向云端存储,使得视频数据可以实现集中管理和远程访问。同时,结合大数据分析,可以从海量的视频数据中挖掘有价值的信息和模式,为安全管理、城市规划等领域提供参考依据。有用户反馈,LiteCVR接入设备后,视频无法播放。我们立即对该情......