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

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

java 复制代码
   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会自动下载配置所需要的依赖库):

bash 复制代码
conda uninstall ffmpeg
conda install -c conda-forge ffmpeg
相关推荐
mo477632 分钟前
Webrtc音频模块(四) 音频采集
音视频·webrtc
icy、泡芙36 分钟前
T527-----音频调试
linux·驱动开发·音视频
易我数据恢复大师37 分钟前
怎么提取音频保存到本地?电脑音频提取方法
音视频·软件·音频提取
野蛮的大西瓜39 分钟前
开源呼叫中心中,如何将ASR与IVR菜单结合,实现动态的IVR交互
人工智能·机器人·自动化·音视频·信息与通信
嘟嘟实验室3 小时前
微信小程序xr-frame透明视频实现
微信小程序·ffmpeg·音视频·xr
红米饭配南瓜汤4 小时前
WebRTC服务质量(09)- Pacer机制(01) 流程概述
网络·音视频·webrtc
是十一月末7 小时前
Python进阶之opencv图片和视频基本读取关闭
python·opencv·音视频·cv2
泰勒朗斯7 小时前
如何编译Opencv +ffmpeg linux 明明安装了ffmpeg但是opencv就是找不到
linux·opencv·ffmpeg
gomogomono10 小时前
HDR视频技术之十一:HEVCH.265 的 HDR 编码方案
音视频·h.265·hdr·yuv
Eric.Lee202111 小时前
moviepy将图片序列制作成视频并加载字幕 - python 实现
开发语言·python·音视频·moviepy·字幕视频合成·图像制作为视频