APP 开发,音频格式的选择, amr 还是 mp3,二进制还是路径? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
susucoolsama
V2EX    问与答

APP 开发,音频格式的选择, amr 还是 mp3,二进制还是路径?

 
  •   susucoolsama 2017-06-15 10:27:20 +08:00 3531 次点击
    这是一个创建于 3040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在做一个功能性的 APP,里面需要用到发送语音的功能发帖。现在一直在和前端讨论音频的格式,还有传输的格式。前端现在传过来的是 amr 的 base64 二进制格式,我接到后存下来。 前端的想法是,我接到二进制后,存成二进制或者文件都可以,然后再传送给他 json 数据的时候,一定要传给他 amr 的 base64 格式给他。他的理由是,这样做得到二进制后,点击的录音不用再请求服务器没有延迟。 我的想法是,接到文件后存成 mp3,发送给他 json 数据的时候,只用发一个 mp3 的路径即可,他用这个路径就可以读取音频了。我的理由是,mp3 通用性好,在各个终端都可以读取(包括 pc 端)。 有没人帮忙看下,到底哪个方案更好呢?

    14 条回复    2017-07-19 16:38:12 +08:00
    pimin
        1
    pimin  
       2017-06-15 10:31:51 +08:00 via Android
    微信和贴吧好客户端像都是用的 amr 方案
    susucoolsama
        2
    susucoolsama  
    OP
       2017-06-15 10:32:34 +08:00
    @pimin 那传输格式是用二进制还是路径呢?亲
    asen1987
        3
    asen1987  
       2017-06-15 11:14:27 +08:00
    amr 的音质感觉比较糟糕,mp3 余地比较多,而且现在也不是缺流量的年代了
    learnshare
        4
    learnshare  
       2017-06-15 11:17:12 +08:00
    mp3 通用性更好,另外大文件上传用 base64,体积不小吧,转码没问题?
    susucoolsama
        5
    susucoolsama  
    OP
       2017-06-15 13:21:34 +08:00
    @asen1987 我也是这样想的呢,不过微信貌似用的是 amr。
    thinkif
        6
    thinkif  
       2017-06-15 13:29:46 +08:00
    移动端的话,大多数场景中 amr 是足够的,如果有 PC 端网页的话,MP3 通用性更好些
    susucoolsama
        7
    susucoolsama  
    OP
       2017-06-15 13:41:02 +08:00
    @thinkif 那么我把这个 base64 文件存成 2 份?一份 amr,一份 mp3,移动端 amr,PC 端 mp3 吗?
    thinkif
        8
    thinkif  
       2017-06-15 13:51:08 +08:00
    @susucoolsama #7
    没必要搞两份吧,这个看你们项目的具体结构了。

    如果没有 PC Web 的需求的话,只用 amr 足以。

    如果有这方面的需求,那么以下两种思路你可以参考:
    1、可以说服前端按照你的方案做,也就是全用 mp3 格式。
    2、如果一定要用 amr 的话,那就在服务端转码,可以自己写,也可以用云服务,比如说七牛貌似有这个转码服务。
    susucoolsama
        9
    susucoolsama  
    OP
       2017-06-15 14:14:51 +08:00
    @thinkif 我也不想搞 2 份,主要以后万一有什么扩展的话,先存 2 份总是好的吧,以后也不用去用云服务转码。我觉得还是试着说服下前端。
    honeycomb
        10
    honeycomb  
       2017-06-15 14:40:21 +08:00 via Android
    如果要求编码效率高,肯定优选 opus 或 aac (有专利)
    susucoolsama
        11
    susucoolsama  
    OP
       2017-06-15 14:42:49 +08:00
    @honeycomb 基本没有。
    ETiV
        12
    ETiV  
       2017-06-15 14:48:02 +08:00 via iPhone
    base64 ……
    为啥不用 CDN,直接存文件呀
    你们传输 URL 就行了

    语音的话 mp3 单声道 22kHz 30K ~ 60K 码率就可以了
    susucoolsama
        13
    susucoolsama  
    OP
       2017-06-21 13:20:24 +08:00
    @ETiV base64 坏处是啥呢?前端一直给我安利 base64 好~
    susucoolsama
        14
    susucoolsama  
    OP
       2017-07-19 16:38:12 +08:00
    666
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5316 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:15 PVG 17:15 LAX 02:15 JFK 05:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86