首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AAC音频存储与检索

AAC音频存储与检索
EN

Stack Overflow用户
提问于 2016-05-28 08:34:14
回答 2查看 1.9K关注 0票数 2

我想存储一个有AAC音频帧的文件,

为此我使用了下面的管道,

代码语言:javascript
复制
gst-launch-1.0 filesrc location=Test_44100Hz_2ch_s16le.wav ! "audio/x-raw,rate=44100,format=s16le,channels=2" ! audioparse format=raw raw-format=s16le rate=44100 channels=2 ! faac ! aacparse ! queue ! filesink location=a1

在使用下面的管道将该文件再次读取到脉冲链接时,

代码语言:javascript
复制
gst-launch-1.0 filesrc location=a1 ! aacparse ! faad ! audioconvert ! audioresample ! pulsesink

我收到以下错误,我使用了GST_DEBUG=3,但我无法找到解决方案。

代码语言:javascript
复制
0:00:00.031924804  3379      0x2231d60 WARN                 basesrc gstbasesrc.c:3483:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.033044700  3379      0x2231050 WARN               baseparse gstbaseparse.c:3255:gst_base_parse_loop:<aacparse0> error: No valid frames found before end of stream
ERROR: from element /GstPipeline:pipeline0/GstAacParse:aacparse0: No valid frames found before end of stream
Additional debug info:
gstbaseparse.c(3255): gst_base_parse_loop (): /GstPipeline:pipeline0/GstAacParse:aacparse0
ERROR: pipeline doesn't want to preroll.

有人能帮我解决这个问题吗?我需要存储AAC音频帧,并需要将该文件作为AAC音频流。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-30 06:51:59

就是这样,测试工作:

代码语言:javascript
复制
gst-launch-1.0 filesrc location=WAV_44_16bit.wav ! decodebin ! audioconvert ! queue ! voaacenc ! aacparse ! queue ! mp4mux ! filesink location=aac.mp4


gst-launch-1.0 filesrc location=aac.mp4 ! decodebin ! audioconvert ! audioresample ! alsasink

在容器中存储了元数据信息。没有它们,解码器就不知道如何处理数据。

票数 2
EN

Stack Overflow用户

发布于 2017-11-17 19:23:08

AAC音频流需要一个容器才能在gstreamer中使用

对于解码器初始化,需要知道采样频率和音频对象。在gstreamer中,我们无法将此元数据直接传递给解析器或解码器。解析器从mp4报头收集数据,然后编码器继承帧结构/大小和采样率。因此,无论是解析器(解析器)还是avdec_aac/faad(解码器),都没有公开参数来指定原始文件(上述元数据)的帧大小。话虽如此,我还没有找到一个令人信服的理由来解释为什么会有人需要这样做。在我发现aac只需要被屏蔽到一个MP4(mp4mux)或另一个容器中才能工作并具有可移植性之前,我发现自己正在尝试这样做。容器/框架只向流添加少量数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37496912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档