zoukankan      html  css  js  c++  java
  • 音频AAC编码浅析

    /*
    *    unsigned long   nSampleRate,        // 采样率,单位是bps
    *    unsigned long   nChannels,          // 声道,1为单声道,2为双声道
    *    unsigned long   &samplesInput,     // 传引用,得到每次调用编码时所应接收的原始数据长度
    *    unsigned long   &maxBytesOutput   // 传引用,得到每次调用编码时生成的AAC数据的最大长度
    */
        enc = faacEncOpen(samplerate, channels, &samplesInput, &maxBytesOutput);

    在使用aac编码之前 由已知采样率和声道 首先获取 每次aac编码所应接收的原始数据长度即上面代码中第三个参数 samplesInput

    还有每次编码时输出的aac数据最大长度 即上面代码中第四个参数 maxBytesOutput

    音频编码:

    int enc_result = faacEncEncode(enc, (int32_t *) pcm_buffer, samplesInput, out, enc_size);

    在真正音频aac编码时,该接口使用的pcm_buffer[] 也就是输入的原始数据要等于之前获取的每次aac编码所应接收的原始数据长度 也就是上面获取的 samplesInput 的长度

    enc_size 就是上面获取的每次编码时输出的aac数据最大长度 也就是上面获取的 maxBytesOutput

    上面 out[] 大小就是 maxBytesOutput 的长度

    备注:在音频编码的时候只需要原始的pcm数据,那些时间戳跟真正aac编码没有太大关系。时间戳可能会跟音频aac编码后的数据一起进行下一步操作。

    ---------------------------------------------

    http://blog.sina.com.cn/s/blog_4d61a75701016j05.html

  • 相关阅读:
    安装mysql-python:EnvironmentError: mysql_config not found
    github中non-fast-forward错误的解决
    centos 6.X 安装scrapy-原创
    如何解决php 生成验证码图片不显示问题
    Centos 6.4 python 2.6 升级到 2.7
    ubuntu默认防火墙
    Ubuntu 14.04 为 root 帐号开启 SSH 登录
    git配置ssh非默认端口
    jquery 选择器,模糊匹配
    CURD方法盘点:where方法-THINKPHP
  • 原文地址:https://www.cnblogs.com/wainiwann/p/4424739.html
Copyright © 2011-2022 走看看