我想将WMA流解码为16位PCM。现在我有一个关于FFMpeg的问题 - 什么是..
的输出格式len = avcodec_decode_audio2(c, (int16_t *)outbuf, &outbuf_used, inbuf_ptr, size);
这是此任务的正确功能吗?
谢谢
答案 0 :(得分:2)
一句话:试着在ffmpeg用户列表上提出这个问题。你肯定会找到那里的ffmpeg大师。
我主要使用ffmpeg来编码/解码视频。要解码,“avcodec_decode_ *”是用于...解码的正确选择。你得到的是...... 16位PCM。
我的意思是解码多媒体流可能很棘手,而ffmpeg是一个相当低级别的lib。仅使用您提供的代码行很难更准确(至少您应该更准确地了解您的参数)。
您应该注意的是,在阅读多媒体流时,您必须首先对流进行解复用(有时即使容器中只有一个流),然后使用正确的编解码器对其进行解码。如果您正确地对流进行了解复用,请正确初始化您的编解码器/编解码器上下文,然后您可以调用avcodec_decode并且它将起作用:)
当你在标签中提到c ++时,你可以尝试用ffmpeg进行c ++包装:FOBS 使用更简单,但当然,你失去了精确的控制......
我希望它有所帮助。