使用ffmpeg对视频进行转码(支持浏览器播放)

在开发中,算法保存的mp4视频文件通过路径打开该视频发现视频播放不了,需要转码进行播放。使用java代码进行转码。代码如下,inputFilePath是转之前的视频路径,outputFilePath是转之后的视频路径。ffmpeg命令中libx264也可以改为其它的格式,例如:h264。

   public void conversion(String inputFilePath, String outputFilePath){
        // 构建FFmpeg命令
        String[] command = {"ffmpeg", "-i", inputFilePath, "-c:v", "libx264", "-preset", "ultrafast", "-c:a", "aac", "-strict", "experimental", "-movflags", "faststart", outputFilePath};
        try {
            // 执行FFmpeg命令
            ProcessBuilder processBuilder = new ProcessBuilder(command);
            Process process = processBuilder.start();
            // 获取FFmpeg输出
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            // 等待转换完成
            int exitCode = process.waitFor();
            System.out.println("Conversion exited with code " + exitCode);
            // 关闭读取器
            reader.close();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }

注意使用ffmpeg需要安装ffmpeg所需要的环境。在windows中和linux中都需要。如果已经安装ffmpeg但是视频还会转换报错, 例如

 这个问题是找不到libx264环境,建议卸载重装ffmpeg,使用以下命令。将ffmpeg卸载了之后再conda 重新安装(用conda,因为conda会自动下载配置所需要的依赖库):

conda uninstall ffmpeg
conda install -c conda-forge ffmpeg

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浏览器mp4转码是指在浏览器中将mp4格式的视频文件转换为其他格式的视频文件的过程。在进行mp4转码的时候,需要使用相应的转码工具或技术插件来完成。 目前,有许多浏览器插件和在线工具可以实现mp4转码。其中一种常用的方式是使用HTML5 Video标签和JavaScript进行转码。HTML5 Video标签支持多种视频格式,包括mp4,因此可以在网页中直接播放mp4视频。但是,由于浏览器对不同视频格式的支持程度不同,有时候需要将mp4转码为其他格式,以便在不同的浏览器播放浏览器mp4转码的过程包括以下几个步骤: 1. 检测浏览器视频格式的支持:可以使用JavaScript的Video对象的canPlayType方法来检测浏览器是否支持mp4格式。 2. 如果浏览器支持mp4格式,需要使用转码工具进行转换。常见的转码工具有FFmpeg、HandBrake等。 3. 使用转码工具将mp4文件转换为浏览器支持的格式,如webm、ogg等。转码时可以设置输出文件的分辨率、压缩比率等参数。 4. 将转码后的视频文件上传到服务器,或者直接在浏览器进行播放。 需要注意的是,浏览器mp4转码是一项较为复杂的任务,涉及到视频编码、解码、压缩等技术,对于非专业人士来说可能比较困难。因此,如果在实际应用中需要进行大量或复杂的mp4转码工作,建议请专业人士参与或使用专业的转码工具来完成。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值