JB的测试之旅-上传的mp3文件播放不了

舒适提示:阅读时长约2分钟;html

前言

公司是资讯类产品,所以后台采用了开源的编辑器供运营原创文章、上传图片、视频等,这不,运营上传完视频发布文章后,发现文章里面的音频播放不了;nginx

而这,就是故事的开端; chrome

image.png-13.1kB

跟进

抓包,获取音频连接浏览器

尝试在PC的Chrome上打开,发现不能打开; bash

image.png-28.8kB

内心寻思了一下:服务器

  • 这功能以前运营就在使用,若是有问题,应该早就反馈了,为啥如今才反馈?
  • 以前运营大多数是上传mp4,此次mp3,会不会有关系?
  • 此次的文件大小稍微大点,10M,以前一、2M都没问题的;

所以有了几个怀疑点:微信

  • 研发最近是否是有改动过这块代码?
  • 验证下mp三、mp4是否都正常;
  • 文件大小是否也会有影响;

通过确认,上面说的3点都不要紧;编辑器

好比同是mp3且都是10M,一个能够正常播放,而有问题的仍是有问题:ui

没问题(10M)
https://img.51hjgt.com/attachment/pagemanage/20190522/1558490847849240.mp3

有问题(10M)
https://img.51hjgt.com/attachment/pagemanage/20190522/1558490919310761.mp3
复制代码

image.png-7.9kB
image.png-6.3kB

内心郁闷啊! spa

image.png-50.7kB

既然跟文件大小、格式都不要紧,那有没可能上传到服务器后致使音频损坏之类的?又或者,跟nginx配置有不要紧?

而后去服务器下载该音频,而后用Windows本地打开,发现能正常打开;

image.png-154kB
image.png-60kB

那就是说,上传后文件也没损坏,一切都很正常;

继续尝试,在手机上是否正常?

首先试试收集某克浏览器,能获取到音频长度,能正常播放:

image.png-52.6kB

那在微信上点击试试,却没法正常播放;

image.png-61.5kB

首先说明,视频是正常的,可是同时,百思不得其解,想不懂问题出在哪里,根据上面的分析,感受都没错。。

若是非要说,感受就是这个音频有问题,由于其余mp3都正常,就这个有问题,可是,毫无证据。。

image.png-26.2kB

高人指点

寻思半天,实在没辙,只能寻找高人,此处手动感谢@老罗,否则真搞不定;

老罗听完以后,过段时间说,这Mp3格式有问题,而后就给了个截图:

image.png-9.5kB

原来这音频是wma格式,后面可能被改后缀,就一直觉得是mp3了,同时网上搜索chrome不能播放wma,发现你们都遇到这问题;

image.png-150.6kB

既然如此,那就把格式转mp3试试看正常不,直接选择格式工厂,转换mp3,而后发现能够正常播放了;

image.png-9.2kB

看吧,事情就完美解决了;

怎么发现

问题虽然解决了,可是反思,为啥Jb不会?而后就去问老罗大佬,大佬就说用FFmpeg看,而且丢了一个连接过来;

既然内容有了,就本身研究吧;

FFmpeg

第一次听这玩意,只能Google了,FFmpeg官网连接

官网的描述是这样的:

FFmpeg是一套能够用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
复制代码

打开官网后,会有大写的download,各平台都支持,感受还能够;

Windows

对于Windows来讲,不须要安装,直接下载就是一个zip包,解压后,在bin目录下执行ffprobe.exe 音频文件便可:

ffprobe.exe test.mp3
复制代码

这样就能看到这个文件的格式就是wma

image.png-126kB

经过gs工厂转成mp3后,再查看,发现是真的改为mp3,怪不得能够播放了;

image.png-117.1kB

Linux

打开官网,直接选择最新的下载,而后上传服务器;

tar -xjvf ffmpeg-4.1.3.tar.bz2 
cd ffmpeg-4.1.3
./configure
复制代码

此时会提示yasm未安装的提示,yasm是一款汇编器,而且是彻底重写了nasm的汇编环境,接收nasmgas语法,支持x86amd64指令集,那就安装一波;

yum install yasm
复制代码

而后继续安装ffmpeg

./configure
make
make install 
复制代码

时间比较久,安装完后,输入ffmpeg,没报错就说明安装成功了;

image.png-43.2kB

这时候,再把有wma视频上传去看看;

image.png-61.2kB

同样的用法,没问题;

小结

行吧,这里只是简单介绍下ffmpeg,若是感兴趣,能够点击这里去了解;

这件事情不难,只要是对音频有了解过的,可能就很快发现问题了,因此,知识广度仍是有须要的,不必定须要精通,能解决问题就能够了;

最后,谢谢你们~

相关文章
相关标签/搜索