ffmpeg音频编码
2016-05-07 20:46
323 查看
在弄音频采集时,需要设置缓存的大小,如果只是简单的采集和直接播放PCM数据,缓存的大小一般不影响播放和保存。
但是,如果需要使用FFMpeg音频编码,这时,音频缓存的大小必须设置av_samples_get_buffer_size函数返回的大小。以下是几点注意的
1.
m_pFrame = av_frame_alloc();
m_pFrame->format = ffSampleFormat;
m_pFrame->nb_samples = nSampleRate;//帧的大小
2.
m_nBufferSize = av_samples_get_buffer_size(NULL, channels, nSampleRate, ffSampleFormat, 1);
音频的缓存大小就是m_nBufferSize 。
反正按上面的方法是解决了播放问题。如果还有其它办法可留言,欢迎大虾们指教。谢谢。
有几点疑惑还请大虾知道的指点一下。当我调用avcodec_open2函数后,AVCodecContext里面的frame_size依旧是0???谢谢。
但是,如果需要使用FFMpeg音频编码,这时,音频缓存的大小必须设置av_samples_get_buffer_size函数返回的大小。以下是几点注意的
1.
m_pFrame = av_frame_alloc();
m_pFrame->format = ffSampleFormat;
m_pFrame->nb_samples = nSampleRate;//帧的大小
2.
m_nBufferSize = av_samples_get_buffer_size(NULL, channels, nSampleRate, ffSampleFormat, 1);
音频的缓存大小就是m_nBufferSize 。
反正按上面的方法是解决了播放问题。如果还有其它办法可留言,欢迎大虾们指教。谢谢。
有几点疑惑还请大虾知道的指点一下。当我调用avcodec_open2函数后,AVCodecContext里面的frame_size依旧是0???谢谢。
相关文章推荐
- 玩转Android之加速度传感器的使用,模仿微信摇一摇
- CodeForces 598D Igor In the Museum
- 二进制与十六进制
- 手机分辨率
- 一个帖子学会Android开发四大组件
- c/c++中与时间相关的问题
- LeetCode Swap Nodes in Pairs
- Eclipse Che开发Spring Web应用(入门) (二)
- [LeetCode61]Rotate List
- hdu 2588 gcd 欧拉函数
- secure crt 基本设置
- CodeForces 598C Nearest vectors
- powerpc eldk:Invalid configuration ppc_6xx :machine ppc_6xx not recognized
- 插入排序法
- 结构体的偏移量计算
- Web前端性能优化(二)使用内容分发网络
- CodeForces 598B Queries on a String
- CodeForces 598A Tricky Sum
- Contest 2016-5-7 B(HDU 5616)
- 言叶にできない