使用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
相关推荐
云上先途1 天前
标签化服务适合哪些人?常见适用场景一次讲清
大数据·人工智能·算法·音视频
2601_962380761 天前
MoneyPrinterTurbo 本地部署与出片全流程:从环境配置到一键生成短视频
音视频
可乐鸡翅yeah_1 天前
HLS视频编码兼容性全解,H.264/H.265流媒体浏览器适配排错实战
音视频·firefox·safari·m3u8
FlightYe1 天前
音视频修炼之编码器(一):AVC、HEVC编码器内部
android·linux·c++·音视频
昨日之日20061 天前
AuK:多任务语音生成编辑,支持克隆、改词、换情绪与分离,内容编辑与增强全覆盖
人工智能·音视频
林澈在路上1 天前
能做DJ的AI写歌软件推荐:MELO音乐对比Suno v6
大数据·人工智能·github·音视频·音频
YWamy1 天前
政企项目 RTC SDK 评估思路:从技术指标到落地选型
音视频·实时音视频
安河桥。2 天前
座舱显示接口笔记:DP、eDP、无线投屏到底怎么分工?
嵌入式硬件·车载系统·音视频·视频
做萤石二次开发的哈哈2 天前
视频汇集平台模板上线萤石蓝海AIoT一站式工作台:多品牌摄像机+NVR统一接入,GB/T28181国标级联实现工程施工多方视频调度(附部署教程)
大数据·人工智能·物联网·音视频·萤石开放平台·蓝海aiot一站式工作台·aiot开发
Htojk2 天前
多路直播 + AI 实时翻译:一套「会翻译的直播墙」的工程复盘
音视频