java 利用 ffmpeg 实现音频格式转码
java 利用 ffmpeg 实现音频格式转码
ffmpeg安装
ffmpeg的官网地址是:https://www.ffmpeg.org/
ffmpeg的Github项目地址是:https://github.com/FFmpeg/FFmpeg
环境变量的配置
1、将下载的ffmpeg解压到指定目录下,博主解压在:G:\【1】软件(已经过测试)目录下;
2、右击此电脑——>属性——>高级系统设置——>环境变量。在系统变量的path变量里添加解压的路径。
例如:G:\file\ffmpeg-20191013-4f4334b-win64-static\ffmpeg-20191013-4f4334b-win64-static\bin
3、配置完成后运行cmd,输入ffmpeg,若显示如下界面,则说明配置成功。
C:\WINDOWS\system32>ffmpeg
ffmpeg version git-2019-10-13-4f4334b Copyright © 2000-2019 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20191010
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 35.100 / 56. 35.100
libavcodec 58. 59.102 / 58. 59.102
libavformat 58. 33.100 / 58. 33.100
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 62.100 / 7. 62.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]… {[outfile options] outfile}…
Use -h to get full help or, even better, run ‘man ffmpeg’
JAVA示例
/**
* 视频/音频转pcm格式文件 -f s16le -ar 44100 -ac 1 -acodec pcm_s16le
* @param vedioUrl 源文件
* @param pcmUrl 目标文件
* @param ffmpegUrl ffmpeg.exe安装路径
* @throws InterruptedException
* @throws IOException
*/
public static void vodieToPcm(String vedioUrl,String pcmUrl,String ffmpegUrl) throws InterruptedException, IOException {
List commend = new ArrayList();
commend.add(ffmpegUrl);
commend.add("-y");
commend.add("-i");
commend.add(vedioUrl);
commend.add("-acodec");
commend.add(“pcm_s16le”);
commend.add("-f");
commend.add(“s16le”);
commend.add("-ac");
commend.add(“1”);
commend.add("-ar");
commend.add(“16000”);
commend.add(pcmUrl);
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.redirectErrorStream(true);
Process process = builder.start();
process.waitFor();// 等待进程执行结束
}
测试:
public static void main(String[] args) throws InterruptedException, IOException {
String ffmpegUrl=“F:/F/bin/ffmpeg.exe”;
String sourcePath=“G:/file/20191014.mp4”;
String targetPath0=“G:/file/20191014.mp3”;
String targetPath1=“G:/file/20191014.wav”;
String targetPath=“G:/file/201910140.pcm”;
//conversionormat(sourcePath, targetPath);
//conversionormatTomp3(sourcePath, targetPath0);
//vodieToPcm(sourcePath, targetPath, ffmpegUrl);
vodieToPcm(targetPath1, targetPath, ffmpegUrl);
//Mp3ToWav(targetPath0, targetPath1,ffmpegUrl);
}
java 利用 ffmpeg 实现音频格式转码相关推荐
- Java使用ffmpeg进行音频格式转换
ffmpeg相关文章网址(用于记录一些好的文章地址~) ffmpeg命令详解 https://blog.csdn.net/zzcchunter/article/details/68060989 jav ...
- 【FFmpeg】java实现利用ffmpeg视频上传转码同时截取一帧保存为同名图片,并获取视频分辨率
〇.前情提要 完成了视频上传,接下来是给上传的视频保存一张同名的jpg文件在同样文件夹中,并且获取到视频的分辨率. macOS Catalina 10.15.1 ffmpeg version 4.3. ...
- Java 利用ffmpeg工具实现视频MP4转m3u8
Java 利用ffmpeg工具实现视频MP4转m3u8(一) 前言 (一)ffmpeg工具转码 1.如何安装ffmpeg工具 2.如何使用ffmpeg工具进行视频转码 (二)播放m3u8文件 1.vi ...
- Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图
封装类: ffplay.ffmpeg.ffprobe是安装的ffmpeg路径. import java.io.BufferedReader; import java.io.File; import j ...
- avi和音频合成 ffmpeg_使用Java和ffmpeg把音频和视频合成视频的操作方法
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...
- java利用ffmpeg追加合并视频文件
java利用ffmpeg追加合并视频文件 首先要用到ffmpeg,可以根据操作系统自行下载 每个视频格式要一样,分辨率要一样 多个视频地址以list存放,直接上代码 /*** 合并视频文件* @par ...
- mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv
详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...
- java利用core 工具实现二维码的生成与解析
java利用core 工具实现二维码的生成与解析 简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片,而解析二维码则相反, ...
- 使用jsmpegjs前,先把利用 ffmpeg 将 MP4 格式的文件转换为 ts 格式
利用 ffmpeg 将 MP4 格式的文件转换为 TS 格式 ffmpeg官网:http://ffmpeg.org/download.html ffmpeg下载地址: https://github.c ...
- java利用ffmpeg将amr、caf转mp3格式
最近再做一个项目,要将手机APP上的文件上传到服务器上来,包括图片.声音.视频文件.起初只有Android版,大家知道,Android的录音格式amr,在电脑上播放不出来,必须转码.因为之前只有And ...
最新文章
- js实现的时间轴效果
- php超链接如何隐藏参数,php如何去除超链接
- [置顶] 程序员编程生产力相差10倍意味着什么?
- python学生管理系统gui版好例子网_python图书管理系统gui 相关实例(示例源码)下载 - 好例子网...
- 疫情攻坚战“分秒必争” 宜搭免费开放疫情相关应用
- big5码在线转换_【开源】基于 SpringBoot 的 web kettle 在线采集平台
- 三调数据库及DLTB各个字段含义
- Java 蓝桥杯 判断闰年
- 【词向量】从Word2Vec到Bert,聊聊词向量的前世今生(一)
- python 解析pb文件_利用Python解析json文件
- 产品经理学习记录(一)
- JavaSE Collections类 , Iterator迭代器 , 增强for循环
- [Flink]Flink实时框架介绍
- get------引用接口
- pig0.15+hadoop2.x安装 (注意版本匹配)
- 181022词霸有道扇贝每日一句
- 微信小程序开发--获取用户手机号码
- 人口模型(Malthus+Logistic)附Matlab代码
- Python春节特训营08:还记得大明湖畔的变量和函数吗
- 推荐系统学习笔记召回策略之基于内容召回