FFmpeg的使用,FFmpeg音视频转换

简介:

FFmpeg 是一个开源的跨平台音视频处理工具,它可以用来录制、转换以及流媒体传输音视频内容,它是一个功能强大、灵活且开源的音视频处理工具,适用于各种音视频处理需求,下面是关于 FFmpeg 的一些简要介绍:

  1. 功能广泛:FFmpeg 提供了丰富的音视频处理功能,包括但不限于格式转换、编解码、裁剪、合并、滤镜处理等。

  2. 跨平台性:FFmpeg 可以在多个操作系统上运行,包括 Windows、macOS、Linux 等,因此被广泛应用于各种平台的音视频处理需求中。

  3. 命令行工具:FFmpeg 主要以命令行工具的形式提供,用户可以通过输入命令来调用其功能进行音视频处理。

  4. 开源免费:FFmpeg 是基于 LGPL 或 GPL 许可证发布的自由软件,可以免费使用和分发。

  5. 强大的社区支持:FFmpeg 有一个活跃的开发社区,持续不断地更新和改进,同时也有大量的文档和示例可供参考。

  6. 应用广泛:由于其功能强大和灵活性,FFmpeg 在许多领域得到了广泛应用,包括视频编辑、流媒体服务、嵌入式设备等。

需求背景:        

        语音识别:将视频转为音频,在将音频做ASR语音识别,提取识别后的文字。

命令行代码:

  1. -i <input_file>:指定输入文件。
  2. -f <format>:指定输出文件的格式。
  3. -b:v <bitrate>:设置视频比特率。
  4. -b:a <bitrate>:设置音频比特率。
  5. -r <framerate>:设置帧率。
  6. -s <size>:设置输出视频尺寸。
  7. -ar <sample_rate>:设置音频采样率。
  8. -ac <channels>:设置音频声道数。
  9. -ss <time>:从指定时间开始处理。
  10. -t <duration>:设置处理时长。
  11. -vf <filter>:应用视频过滤器。
  12. -af <filter>:应用音频过滤器。
  13. -codec:v <codec>:设置视频编解码器。
  14. -codec:a <codec>:设置音频编解码器。
  15. -preset <preset>:设置编码速度/质量的预设。
  16. -crf <value>:设置视频的恒定质量级别。
  17. -map <stream_spec>:选择输入流进行处理。
ffmpeg -i "视频输入路径"  -ar 16000 -ac 1 -f wav "音频输出路径"

java代码:

   /**
     * 视频转为音频
     * @param inputUrl
     * @param outputUrl
     * @return
     */
    private String videoChangeAudio(String inputUrl, String outputUrl) {
        // 构建ffmpeg命令,注意对路径进行转义
        List<String> command = new ArrayList<>();
        command.add(ffmpeg);
        command.add("-i");
        command.add(inputUrl); // 如果inputUrl包含空格或特殊字符,需要适当转义
        command.add("-ar");
        command.add("16000");
        command.add("-ac");
        command.add("1");
        command.add("-f");
        command.add("wav");
        command.add(outputUrl); // 如果outputUrl包含空格或特殊字符,需要适当转义
        String infoStr = FfmpegUtils.getInfoStr(command);
        return infoStr;
    }

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值