windows+php+ffmpeg转换音频格式
近几天在做一个语音识别搜索功能的时候遇到了一个问题 ,发个文章记录一下,萌新第一次发博客,有不对的地方请各位大佬们多多指正!
前端用的微信的sdk生成的录音,然后用阿里的一句话识别转成文字,这里遇到的坑就是阿里不支持微信返回的音频格式,所以这里需要处理一下格式,经过了一顿百度,决定使用ffmpeg进行音频的转换
首先要下载ffmpg工具 [下载地址](http://ffmpeg.org/)
我为了方便调试我把ffmpeg放在phpStudy的WWW目录下了 如图:
其中ffmpeg.php是我自己写的,代码贴在下面
之后把ffmpeg下的bin 目录添加到windows的环境变量,具体操作这里就不说了,学过java的都清楚,如记不清了可百度一下
话不多说,直接上代码.
<?php
/*** @api音频文件格式转换-将silk转为wav* @author wyp*/
header("content-type:text/html;charset=utf-8");
date_default_timezone_set('Asia/Shanghai');
define('BASE_PATH', str_replace('\\', '/', realpath(dirname(__FILE__) . '/')) . "/");
//域名
$domain = $_SERVER['SERVER_NAME'];/*** 由于每次访问时会将音频文件上传到服务器上,所以我这里先把之前上传到服务器的音频删除*/
$dir = scandir('./');
foreach ($dir as $key => $value) {if (substr($value, -4) == '.wav') {if ($value == $_GET['filepath']) {continue;}$filemtime = fileatime($value);if (time() - $filemtime > 10) {unlink($value);}}
}//接收文件
if (!isset($_GET['filepath'])) {echo json_encode(['code' => 400,'info' => '文件路径为空',]);exit;
}
$filepath = $_GET['filepath'];
$in_time = date('Y-m-d-h-i-s', time());
@$copy = copy($filepath, './in_' . $in_time . ".silk");//这里将文件下载到本地服务器
if (!$copy) {echo json_encode(['code' => 400,'info' => '请检查文件路径',]);exit;
}
$filepath = "in_" . $in_time . ".silk";
//输出文件名
$rank = "rec";
for ($i = 1; $i < 9; $i++) {$rank .= rand(0, 9);
}
$outfile = $rank . "-" . date('Y-m-d-h-i-s', time()) . ".wav";
//绝对地址(D://phpstudy/www/...)
$base = BASE_PATH;//要执行的cmd命令
$cmd = "ffmpeg -i $base" . "$filepath " . "$base$outfile";//执行cmd命令
exec($cmd);//删除接收到的文件
unlink('./in_' . $in_time . ".silk");
//返回结果
echo json_encode(['code' => 200,'cmd' => $cmd,//执行的cmd'outfile' => "$domain/ffmpeg/bin/$outfile"//文件路径
]);
?>
windows+php+ffmpeg转换音频格式相关推荐
- linux ffmpeg批量转换,linux使用ffmpeg转换音频格式
http://linux.51yip.com/search/ffmpeg # ffmpeg -y -i "1.avi" -title "Test" -vcode ...
- java flv转mp3_Java调用ffmpeg转换视频格式为flv的示例详解
这篇文章主要介绍了 详解java调用ffmpeg转换视频格式为flv的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下 详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在L ...
- mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv
详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...
- Python:运用pydub模块转换音频格式、对音频进行剪辑
Python:运用pydub模块转换音频格式.对音频进行剪辑 近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐片 ...
- 你认识的转换音频格式的软件有哪些
上周我收到了一位客户的任务要求,他需要将一首歌曲的WAV格式文件转换为MP3格式,以便在移动设备上播放.我利用便捷好用的音频转换软件帮他解决了这个问题.你们猜我是用什么音频转换软件的呢?你们知道的转换 ...
- 如何转换音频格式?建议收藏这几个方法
小伙伴们平时喜欢听音乐吗?像我有时会为了方便随时随地听音乐,会将音乐音频保存在各种播放设备内.但是有时候一些播放设备就会提示说,不支持该音频格式的播放,不知道有没有小伙伴和我遇到一样的问题?像这种时候 ...
- 怎样用MP3转换器转换音频格式
昨晚睡觉的时候突然脑海里闪现出一首歌曲,就是张杰的一首<秋天的童话>,于是便立刻拿起手机来听,一搜发现这首歌曲居然有很多人翻唱过,所以就一首一首的听了下去,发现有些歌曲的格式都不一样,脑子 ...
- 如何转换音频格式简单图文教程
以下是一款音频转换器简单快捷的转换音频格式图文教程,有兴趣的朋友们可以参考参考. 1.下载安装:下载安装迅捷音频转换器,并将其安装至电脑中 2.运行软件:双击生成在桌面上的快捷方式,运行软件 3.添加 ...
- php如何转换音频格式,音频格式如何在线转换,音频转换软件
现在歌曲.音频的格式是五花八门,我们如果需要将各类歌曲.音频的格式统一,只能采取格式转换的方法,那么音频格式如何转换呢?音频转换软件哪个比较好呢?其实转换音频格式很简单,小编这边就有一个方法可以转换音 ...
最新文章
- STP生成树协议原理及配置
- 二元查找树变双向链表
- vue2.0中引入wangEditor2 步骤与坑
- UA SIE545 优化理论基础 函数凸性的一些有趣的判断方法
- Intel Realsense D435 如何通过摄像头序列号获取指定摄像头的帧集对?
- MAX3222/MAX3232/ MAX3237/MAX3241/串口通信中文_技术文档
- 分类算法之决策树CART算法
- POJ1821-Fence【单调队列,dp】
- 游戏、脑洞大开1(密码简单破译)
- 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真
- 今天是 OSChina 上线 6 周年!
- 详解mysql什么时候不走索引
- JS——try catch throw
- 简单的Java商城项目记录
- Cheat Engine逆向修改植物大战僵尸(外挂)
- Microsoft Visual Studio 2013/2015/2017 官方原版 ISO 镜像中文版下载
- SSH项目整合基本步骤
- html显示ping值,jquery JS实现ping的功能(JS ping url)
- 没有公网IP,快速免费内网穿透
- win10自带ie和Edge浏览器无法上网解决方法 第三方浏览器和QQ可以使用
热门文章
- iframe防止页面套娃
- 使用FreeMarker生成word文档(带图片),word转pdf,预览pdf,pdf下载工具类
- Android Sensor 传感器总结
- 开发Android第一步,安装SDK 1.6, 模拟器及安装游戏
- BMS(电池管理系统)第五课 ——核心!!!SOH算法开发
- 大青云不显示服务器,37大青云1月4日合服公告
- qml Rectangle组件透明设置
- FPGA数字信号处理(九)Vivado FFT IP核实现
- MySQL Day05 子查询、函数、MD5加密、SELECT小结
- MySQL(四)Select总结及补充聚合函数及分组过滤MD5加密