当前位置: 代码迷 >> 多媒体/流媒体开发 >> FFMpeg生手的疑惑
  详细解决方案

FFMpeg生手的疑惑

热度:9150   发布时间:2013-02-26 00:00:00.0
FFMpeg新手的疑惑
我想做的是把视频中的音频流取出来,转成44100HZ的单通道
然后获取每个采样点的值来做一定的运算

有没有大牛指导下:
(1)如何转成单通道,我用mpeg格式的视频,发现获取出来的音频声道数是2
(2)如何获取每个采样点的值,avcodec_decode_video这个系列的几个函数,我应该用哪个。解码出来的buf中的数据的结构是怎样的?

谢谢,此问题疑惑很久了,希望哪位大牛能让我拨开迷雾。

------解决方案--------------------------------------------------------
建议你先阅读一些ffmpeg的应用程序,这里有:
http://bbs.chinavideo.org/viewthread.php?tid=10043&highlight=

1) 可以用ffmpeg -i xxx.mpg -ac 1 -acodec libmp3lame xxx.mp3
然后用gdb跟一下这条命令的执行流程

    其实过程就是
音频
       读包------> 解码(avcodec_decode_audio3)------> 编码(avcodec_encode_audio3)-----> 输出(av_write_frame)


2) 解出来的buf中的数据就是一个个的样本点。
------解决方案--------------------------------------------------------
你好,想问下关于用ffmpeg做视频处理方面的东西 现在想做些视频裁剪和缩放的工作 不知道调库函数该怎么做

就比如:ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp 用命令行可以这样实现
 
但是想用ffmpeg的库函数实现 这些参数有没有接口在哪里改? 不知道大家知道嘛???


还有能不能用库函数如何调用AVS脚本的接口。

谢谢


探讨

建议你先阅读一些ffmpeg的应用程序,这里有:
http://bbs.chinavideo.org/viewthread.php?tid=10043&highlight=

1) 可以用ffmpeg -i xxx.mpg -ac 1 -acodec libmp3lame xxx.mp3
然后用gdb……

------解决方案--------------------------------------------------------
对于AAC文件,如果我跟的没错,每次解压返回值都是4608.

一般在buffer中pcm数据的分布是 L R L R L R ,其实就是左右左右交叉分布.
  相关解决方案