V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
susucoolsama
V2EX  ›  问与答

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

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

    最近在做一个功能性的 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   ·   我们的愿景   ·   实用小工具   ·   2642 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:21 · PVG 23:21 · LAX 08:21 · JFK 11:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.