Gstreamer:使用 AAC 编码将麦克风音频编码为 mp4
Posted
技术标签:
【中文标题】Gstreamer:使用 AAC 编码将麦克风音频编码为 mp4【英文标题】:Gstreamer: Encode microphone audio using AAC encode to mp4 【发布时间】:2021-12-12 14:36:43 【问题描述】:想知道是否可以使用 AAC 编码到 mp4 容器中
我尝试过使用以下
gst-launch-1.0 alsasrc device="hw:0,0" ! "audio/x-raw,rate=48000,channels=2,depth=16" ! queue ! audioconvert ! avenc_aac ! qtmux ! filesink location=audio.mp4
程序运行正常,但是当我检查文件内容时,它给了我一个空内容
但是,当我使用 avimux 运行时,文件内容会给出编码和音频长度等细节
gst-launch-1.0 alsasrc device="hw:0,0" ! "audio/x-raw,rate=48000,channels=2,depth=16" ! queue ! audioconvert ! avenc_aac ! avimux ! filesink location=audio.mp4
看看有什么问题,因为我需要 AAC 编码(用于以后的 rtsp 流)并且需要使用 mp4 作为容器和 qtmux
谢谢
【问题讨论】:
【参考方案1】:你并没有真正说出你在做什么。但很可能您缺少gst-launch-1.0
的-e
选项。这样一来,EOS 信号就会通过管道传播以正确完成 mp4 文件。其他文件格式没那么挑剔,但是mp4需要在所有样本都写完之后再写一个合适的索引。
【讨论】:
您好,实际上我正在尝试使用 gstreamer-launch 测试我的部分管道,然后再使用 C 进行编码。测试以寻求帮助 我认为您的描述中缺少的重要细节是您使用 CTRL-C 中止了导致 MP4 损坏的编码。但是使用-e
开关对你有用吗?
您好,您是如何结束程序的?我的意思是我们可以使用 Ctrl Z 吗?
我在***.com/questions/56329968/… 中偶然发现了你们的cmets。现在我知道该怎么做了以上是关于Gstreamer:使用 AAC 编码将麦克风音频编码为 mp4的主要内容,如果未能解决你的问题,请参考以下文章
在 mp4 中使用 gstreamer h264 + aac 录制只会产生部分可播放的文件