使用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
相关推荐
2601_965449084 小时前
开源工具做推广没预算?AI自动生成宣传视频的方案
人工智能·开源·音视频
揽秀亭长5 小时前
视频转文字如何实现?四种方式的工作流与对比
音视频
AI视频工具指南5 小时前
文字怎么变成视频?同一地点的几个画面怎样接起来
人工智能·aigc·音视频
成都旺小宝科技6 小时前
首访决策人没来,AI一客一策两天成交!
大数据·人工智能·机器学习·ffmpeg·语音识别
原子延迟6 小时前
视频太大怎么压缩发微信?先查限制再压的3种方法(2026)
开发语言·图像处理·人工智能·计算机视觉·音视频
余槐i9 小时前
加了Cookie yt-dlp仍报HTTP 403:3个容易漏的请求头差异
python·http·ffmpeg·开发工具·yt-dlp
youandyouyou10 小时前
局域网视频会议系统架构拆解与私有化部署实践
系统架构·音视频·网络通信
乐橙开放平台10 小时前
不用换摄像头,如何用乐橙把海康、大华、宇视统一到一个界面
笔记·物联网·自动化·音视频·智能家居
ACP广源盛1392462567311 小时前
HDMI2.1 同源双屏方案选型,GSV6502@ACP 工程评估笔记
笔记·硬件架构·音视频·硬件工程·hdmi·国产芯片
Likeadust12 小时前
一文吃透云点播/本地点播/网络点播EasyDSS点播模块
网络·音视频·easydss