阿里云linux安装ffmpeg支持小程序silk文件转换-续

这是微信开发工具在调试中的录音文件,截图如下:



这是使用手机中小程序体验版,或者发布版本中的录音文件,截图如下:



如果参考     阿里云linux安装ffmpeg支持小程序silk文件转换      的方法,可以转换开发工具录制的 silk文件。


但我们的程序最终需要发布,体验版以及发布版,对于其录制的silk文件,我们还必须经过解码,解码后形成pcm文件,然后再将pcm文件转换成mp3文件。


在Linux下

wget https://github.com/kn007/silk-v3-decoder/archive/master.zip
unzip master.zip
得到silk-v3-decoder-master文件夹


然后编译解码器

cd silk-v3-decoder-master
cd silk
make
make之后,会在 silk-v3-decoder-master/silk/文件下生成 decoder 执行文件
尝试调用,将测试的silk文件拷贝倒解码程序文件夹,使用文件夹里面的converter.sh对文件进行转换

cp /bryan/test.silk   /bryan/sw/silk-v3-decoder-master/test.silk
sh converter.sh test.slk mp3

最终在解码器目录下转换得到   test.mp3


注意: converter.sh会尝试寻找ffmpeg,所以必须先安装ffmpeg,具体请参考    阿里云linux安装ffmpeg支持小程序silk文件转换   。再转换过程中首先转换成pcm,然后再将pcm转换成mp3。


在PHP中我们可以这样实现:

	$v_cmd = "";
	//change to pcm
	if(如果是windows){
		$v_cmd = $pSilkDecodeWindows." ".$v_silk_file_path." ".$v_pcm_file_path." -quiet";
	}else{//否则是Linux
		$v_cmd = $pSilkDecodeLinux." ".$v_silk_file_path." ".$v_pcm_file_path." -quiet";
	}
	exec($v_cmd);
	                        
	//change to mp3
	if(如果是windows){
		$v_cmd = $pFfmpegPathWindows." -y -f s16le -ar 24000 -ac 1 -i ".$v_pcm_file_path." ".$v_mp3_file_path;
	}else{//否则是Linux
		$v_cmd = $pFfmpegPathLinux." -y -f s16le -ar 24000 -ac 1 -i ".$v_pcm_file_path." ".$v_mp3_file_path;
	}
	exec($v_cmd);
	//删除pcm
	if(file_exists($v_pcm_file_path))
	{
		unlink($v_pcm_file_path);
	}
	//删除silk
	if(file_exists($v_silk_file_path))
	{
		unlink($v_silk_file_path);
	}
















  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值