背景:使用百度語音分析api對(duì)100M以內(nèi)的音頻MP3文件進(jìn)行語音文字識(shí)別恢总,但是100M以上的文件不支持探膊,為了滿足客戶需求颗圣,需要對(duì)大于100M的音頻文件進(jìn)行分割,而且盡量使音頻分割和語音識(shí)別的時(shí)間縮短
分割工具:Ffmpeg? ??ffmpeg?-y?-i?test.mp3?-ss?00:00:00?-t?00:00:03?-acodec?copy?output_mp3.mp3? ?從指定時(shí)間節(jié)點(diǎn)截取固定時(shí)間長度
分割過程:由于之前做過對(duì)mp3格式文件進(jìn)行切分篮撑,但是花費(fèi)時(shí)間太長减细,一個(gè)小時(shí)的音頻用了四五十分鐘,后來在同事的幫助下提供了一些思路:
一赢笨、修改ffmpeg語句
二未蝌、本地測試分割時(shí)長
三、改變分割方法
? ? 首先茧妒,根據(jù)網(wǎng)友提供的信息萧吠,將 -ss 00:00:00 放置??-i?test.mp3的之前,經(jīng)測試后確實(shí)提速了十幾分鐘桐筏;
? ? 其次纸型,線上環(huán)境的音頻文件是url路徑的,在本地用本地文件夾中的文件分割后三個(gè)小時(shí)的文件按每份一小時(shí)切分完成只用了十幾秒,所以不是ffmpeg切分慢的原因狰腌,后來把目標(biāo)文件中的url改為將url的文件下載至服務(wù)器上之后切分的時(shí)間短了很多除破,所以原因是從url下載至本地導(dǎo)致速度慢;
? ? 最后琼腔,根據(jù)同事提供的思路瑰枫,將之前只要大于100M的文件,就直接按照一小時(shí)的時(shí)長來切分丹莲,改為用文件大小除以100得到切分的份數(shù)躁垛,將音頻文件的總時(shí)長除以份數(shù)得到切分時(shí)長,這樣切分也會(huì)快很多圾笨。
? ? 總結(jié),使用了這三個(gè)方面優(yōu)化后逊谋,三個(gè)小時(shí)的音頻文件從上傳到分析成功由原來的五六十分鐘降至了十五分鐘擂达。這次優(yōu)化中得到的經(jīng)驗(yàn),一是要將線上環(huán)境移至本地測試進(jìn)而發(fā)現(xiàn)問題所在胶滋,二是利用數(shù)學(xué)思維來處理兩個(gè)以上的變量(本次中的切分方法)板鬓。