音频相关问题

1、不同的pcm格式都占几个byte

这点我么从ffmpeg的源码中查看

enum AVSampleFormat {
    AV_SAMPLE_FMT_NONE = -1,
    AV_SAMPLE_FMT_U8,          ///< unsigned 8 bits
    AV_SAMPLE_FMT_S16,         ///< signed 16 bits
    AV_SAMPLE_FMT_S32,         ///< signed 32 bits
    AV_SAMPLE_FMT_FLT,         ///< float
    AV_SAMPLE_FMT_DBL,         ///< double

    AV_SAMPLE_FMT_U8P,         ///< unsigned 8 bits, planar
    AV_SAMPLE_FMT_S16P,        ///< signed 16 bits, planar
    AV_SAMPLE_FMT_S32P,        ///< signed 32 bits, planar
    AV_SAMPLE_FMT_FLTP,        ///< float, planar
    AV_SAMPLE_FMT_DBLP,        ///< double, planar
    AV_SAMPLE_FMT_S64,         ///< signed 64 bits
    AV_SAMPLE_FMT_S64P,        ///< signed 64 bits, planar

    AV_SAMPLE_FMT_NB           ///< Number of sample formats. DO NOT USE if linking dynamically
};

2、Pcm的格式占的位深和系统有关吗(32位和64位)?

无关

3、Pcm和交叉模式(packet)和平铺模式(planer)?

a、packed: 即不同声道的数据时交织在一起的,如某个audio有2个声道,采用packed方式时,先取第一个通道的一个位深(8、16、32),再取第二个通道的一个位深(8、16、32),如此交织在一起行成一帧音频数据.例子:LRLRLR

b、planar:即不同的声道是像平面一样展开,仍然以2通道的声音举例,即一帧数据采用先存储第一个通道的所有数据,然后紧接着存储第二个通道的所有数据,如此形成一帧音频数据。LLLLRRRR

4、ffmpeg如何音频提取?

ffmpeg -i out.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

-i 输入格式

-vn 忽略视频

-ar 采样率

-ac 声道数

-f s16le

-f的参数都有哪些呢?

        { AV_SAMPLE_FMT_U8,  "u8",    "u8"    },
        { AV_SAMPLE_FMT_S16, "s16be", "s16le" },
        { AV_SAMPLE_FMT_S32, "s32be", "s32le" },
        { AV_SAMPLE_FMT_FLT, "f32be", "f32le" },
        { AV_SAMPLE_FMT_DBL, "f64be", "f64le" },

目前没有找到怎么提出为planer数据的format

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值