whatsns商業版微信語音Linux-centos下ffmpeg安裝如何amr轉mp3播放



此教程配套視頻教學地址:http://kc.whatsns.com/v/310.html


以前微信語音只能微信瀏覽器里播放,而且只有3天有效期,后來找到解決辦法,安裝ffmpeg做格式轉化,以前網上找到一篇教程,寫的很詳細,照著做就行,今天花了很多時間大海撈針方式搜到了:

https://my.oschina.net/ethan09/blog/372435?p=1

咱們程序語音存放目錄在 data/weixinrecord目錄下


早期如果沒有安裝ffmpeg不會自動轉化微信語音格式,按照上面教程安裝成功后,程序會自動轉化微信微信格式,是否轉化成功可以在上面weixinrecord目錄下查看是否有mp3文件生成,mp3支持pc和wap播放。

安裝成功后記得在系統設置--全局設置里,啟用微信語音本地化


附錄:附錄1. ffmpeg默認安裝目錄為“/usr/local/lib”,有些64位系統下軟件目錄則為“/usr/lib64”,編譯過程中可能會出現“ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory”等類似的錯誤,解決辦法是建立軟鏈接:# ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0

附錄2. 如果出現以下提示:ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory可以通過如下方式查看ffmpeg的動態鏈接庫哪些沒有找到:

ldd `which ffmpeg`
        libavdevice.so.54 => not found
        libavfilter.so.3 => not found
        libavformat.so.54 => not found
        libavcodec.so.54 => not found
        libswresample.so.0 => not found
        libswscale.so.2 => not found
        libavutil.so.51 => not found
        libm.so.6 => /lib64/libm.so.6 (0x00002ab7c0eb6000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab7c100b000)
        libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)
        /lib64/ld-linux-x86-64.so.2 (0x00002ab7c0d9a000)
#如果類似于上面的輸出內容,查找以上類庫,會發現全部在/usr/local/lib/下
find /usr/local/lib/ | grep -E "libavdevice.so.54|libavfilter.so.3|libavcodec.so.54"
/usr/local/lib/libavfilter.so.3.17.100
/usr/local/lib/libavcodec.so.54.59.100
/usr/local/lib/libavdevice.so.54
/usr/local/lib/libavcodec.so.54
/usr/local/lib/libavfilter.so.3
/usr/local/lib/libavdevice.so.54.2.101
 
#查看鏈接庫配置文件
more  /etc/ld.so.conf | grep /usr/local/lib
#如果不包含的話,需要編輯此文添加:
vi /etc/ld.so.conf
/usr/local/lib
/usr/local/lib64
#運行配置命令
ldconfig

關于ffmpeg簡介:

FFmpeg是一個開源免費跨平臺的視頻和音頻流方案,屬于自由軟件,采用LGPL或GPL許可證(依據你選擇的組件)。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec里很多codec都是從頭開發的。


注意的地方:

由于要程序自己轉碼,所以要修改php.ini里配置,刪掉一個被禁用的函數system,默認配置如下:

disable_functions =phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source


可以找到php.ini配置函數,然后將system函數移除,這樣程序里可以用函數動態執行編碼轉換了

disable_functions =phpinfo,exec,passthru,shell_exec,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

修改完成后記得重啟網站服務器(nginx/apace)