首页 > 编程语言 >java任意视频转MP4

java任意视频转MP4

时间:2023-09-22 19:46:09浏览次数:37  
标签:解压 视频 java ffmpeg MP4 net bramp FFmpeg

Java任意视频转MP4

目录

场景

在做视频上传功能时候,用户可能上传不同类型的视频文件,导致需要特定播放器才能播放,为了解决视频格式统一问题需要把视频转码一下 ,转换成统一的MP4格式。我们直接使用第三方工具 FFmpeg

FFmpeg介绍

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案

总之使用就可完美 实现 视频转换

环境准备

名称 内容说明
官网下载FFmpeg 官网:http://ffmpeg.org/download.html
项目导入依赖 可以去maven仓库搜索 https://mvnrepository.com/search?q=net.bramp.ffmpeg 各版本

这个0.7.0是最新版

	<dependency>
		<groupId>net.bramp.ffmpeg</groupId>
		<artifactId>ffmpeg</artifactId>
		<version>0.7.0</version>
	</dependency>

下载FFmpeg

网站地址:http://ffmpeg.org/download.html

windows下载

image-20230922185407942

linux下载

image-20230922185120457

windows 版解压使用

将下载好的文件解压到一个常用的目录下

测试案例视频

ffmpeg

测试案例代码

import net.bramp.ffmpeg.FFmpeg;
import net.bramp.ffmpeg.FFmpegExecutor;
import net.bramp.ffmpeg.FFprobe;
import net.bramp.ffmpeg.builder.FFmpegBuilder;

/**
 * @Date: 2023/9/22 18:58
 * @Description: ffmpeg测试案例
 */
public class TestFFmpeg {

    public static void main(String[] args) throws Exception {
        System.err.println("---------开始执行----------------");

        //将下载后并解压的 "ffmpeg.exe,ffprobe.exe" 执行文件路径填写进去
        FFmpeg ffmpeg = new FFmpeg("D:/install/ffmpeg-master-latest-win64-gpl/bin/ffmpeg.exe");
        FFprobe ffprobe = new FFprobe("D:/install/ffmpeg-master-latest-win64-gpl/bin/ffprobe.exe");
        FFmpegBuilder builder = new FFmpegBuilder()
                // 源视频文件
                .setInput("D:/ffmpeg/video222.mov")
                // 目标视频文件
                .addOutput("D:/ffmpeg/video222.mp4")
                .done();

        FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
        executor.createJob(builder).run();

        System.err.println("---------执行完毕----------------");
    }

}

Linux 版解压使用

注:方式同上,唯一不同的就是Linux中的路径不同和没有".exe"

标签:解压,视频,java,ffmpeg,MP4,net,bramp,FFmpeg
From: https://www.cnblogs.com/lccsdncnblogs/p/17723211.html

相关文章

  • 技术分享| anyRTC音视频混流技术解析
    一,简介在视频通讯场景中,比如会议、直播等经常能看到图像合成的场景。图像合成是在指定的一块画面区域,在这个区域内,按画面的位置(坐标)布局,将区域中的每个视频画面的像素混合计算成一个像素(RGB)。比如以下是anyRTC的H323合成画面:二,图像合成如图所示,一幅图像或画面是由很多图层叠......
  • 基于事件的 JavaScript 编程:构建交互式 Web 应用程序
    了解事件 1.事件类型JavaScript支持多种事件类型。一些最常见的包括:鼠标事件:这些事件由用户与鼠标的交互触发,例如单击、悬停和拖动。键盘事件:这些事件在用户与键盘交互时发生,例如按下某个键或松开某个键。表单事件:与表单元素相关的事件,例如提交表单或更改输入字段的值。......
  • EasyGBS视频存储为什么是视频监控系统平台的重要组成部分
    ​EasyGBS是一个高度灵活、功能丰富的视频监控系统,其强大的拓展性和便捷的部署方式使其在众多场景中都能发挥出色的性能。EasyCVR平台支持多种主流标准协议,包括但不限于国标GB28181、RTSP/Onvif、RTMP等,这些协议为设备之间的互联互通提供了基础。数据安全性与稳定性:视频存储......
  • 【Java】JDBC 获取数据库表名、字段名、注释 Comment 等信息
    需求:给定数据库信息和表名,扫描表的字段名、字段类型和注释。要使用JavaJDBC获取数据库表名、字段名和注释信息,你需要连接到数据库并执行适当的SQL查询。以下是一些示例代码,展示如何获取这些信息。请注意,这些示例代码假定你已经建立了数据库连接。你需要根据你的数据库类型和连接......
  • ClassNotfoundException:java.net.InetAddress$CacheEntry
    一个需求,需要修改本地的dns解析,去验证业务的正确性,修改本地的hosts文件需要频繁的修改本地磁盘文件。使用工具包(https://github.com/tanhaichao/javahost)这个工具类实际是通过反射机制,去修改了InetAddress中的cache值,来实现dns解析的修改。CloseableHttpClient方法在做connect的......
  • TSINGSEE视频AI智能分析技术:水泥厂安全生产智能监管解决方案
    一、方案背景随着人工智能技术的快速发展以及视频监控系统在全国范围内的迅速推进,基于AI视频智能分析技术的智能视频监控与智慧监管系统,也已经成为当前行业的发展趋势。在工业制造与工业生产领域,工厂对设备的巡检管理、维护维修、资产管理、安全运行管理等方面也提出了更高的监管......
  • 【Java】ElasticSearch 在项目里的应用
    一、前言:好久没写笔记了,最近忙一个项目,用到ES查询,以往的笔记写ES都是搭建环境,用Kibana玩一玩这次是直接调用API操作了,话不多说,进入主题 二、环境前提:公司用的还是纯ElasticSearch的API库,并没有Spring-Data-ES的包装ElasticSearch版本是7.3.1这是封装的包:<!--esstart-......
  • 如何提升Java项目质量,代码是关键
    关于编程,代码质量是一个极其重要的因素。无论是初学者还是资深开发者,都深知高质量代码的重要性,除了可以提高程序的可维护性,还能减少错误和问题的出现。尤其在像Java这样受欢迎但难度较高的编程语言中,代码质量显得尤为突出。要想写出高质量的Java代码,并不是一件容易的事情。你可能......
  • TSINGSEE视频AI智能分析技术:水泥厂安全生产智能监管解决方案
    一、方案背景随着人工智能技术的快速发展以及视频监控系统在全国范围内的迅速推进,基于AI视频智能分析技术的智能视频监控与智慧监管系统,也已经成为当前行业的发展趋势。在工业制造与工业生产领域,工厂对设备的巡检管理、维护维修、资产管理、安全运行管理等方面也提出了更高的监管要......
  • 什么是AI视频智能分析?你真的懂AI视频分析吗?
    AI视频分析,顾名思义就是指利用人工智能技术对视频数据进行分析和处理的过程。通过计算机视觉和深度学习等技术,能自动地从视频数据中提取有用的信息、模式与结构,并生成对视频内容的理解和推理。那么,AI视频分析技术包括哪几个方面呢?大家可以继续往下看:1、视频内容理解传统的视频......