项目开发中往往有一些时候可能会遇到一些上传视频,这时候我们如果上传一个手机拍摄的1分钟视频(大小110M)可能需要特别长的时间,这个时候就需要我们对视频进行压缩,虽然清晰度有所下降,但是对于一些特定的场景还是很有必要的
ffmpeg主要组成部分
- libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;
- libavcodec:用于各种类型声音/图像编解码;
- libavutil:包含一些公共的工具函数;
- libswscale:用于视频场景比例缩放、色彩映射转换;
- libpostproc:用于后期效果处理;
- ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码;
- ffsever:是一个HTTP多媒体实时广播流服务器,支持时光平移;
- ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;
引入依赖包
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-win64</artifactId>
<version>2.7.2</version>
</dependency>
<dependenc