小程序silk 文件转换 wav

来源:互联网 发布:使用ajax前台显示数据 编辑:程序博客网 时间:2024/06/01 10:41

https://github.com/kn007/silk-v3-decoder



http://ffmpeg.zeranoe.com/builds/


在Linux下

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


然后编译解码器

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

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

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


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


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

$v_cmd = "";//change to pcmif(如果是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 mp3if(如果是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);//删除pcmif(file_exists($v_pcm_file_path)){unlink($v_pcm_file_path);}//删除silkif(file_exists($v_silk_file_path)){unlink($v_silk_file_path);}


原创粉丝点击