gstreamer 将音频和视频编码为 avi 文件

阿夫纳吉德龙

我正在尝试使用 gstreamer 将 h264 视频和音频编码为单个 .avi 文件。我可以使用此视频对音频视频进行编码

gst-launch-1.0 appsrc name=appsrc ! deinterlace name=deinterlace ! mfxh264enc name=mfxh264enc ! avimux name=mux ! filesink name=filesink  location=test.avi

这对于音频:

gst-launch-1.0 alsasrc ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=audioTestQueue.mp3

我试图根据这个例子将它们与这个管道结合起来

gst-launch-1.0 appsrc name=appsrc ! deinterlace name=deinterlace ! mfxh264enc name=mfxh264enc ! queue name=queue1 ! mux. alsasrc name=alsasrc ! audioconvert name=audioconvert ! vorbisenc name=vorbisenc ! queue name=queue2 ! mux. avimux name=mux ! filesink name=filesink  location=test.avi

这将返回一条错误消息:“无法将 queue2 链接到 mux”。

我知道该示例正在使用跛脚进行编码,但当 gstremer文档说:“请注意,MP3 不是一种免费格式,存在许可和专利问题考虑到。请参阅 Ogg/Vorbis 以获取免版税(通常质量更高)的替代方案。”

我究竟做错了什么?

编辑:
似乎在将声音设置为 audiotestsrc 并禁用音频编码 gstreamer 时会创建 .avi 文件,我可以在 VLC 中播放它:

gst-launch-1.0 appsrc name=appsrc1 ! deinterlace name=deinterlace1 ! mfxh264enc name=mfxh264enc1 ! queue name=queue11 ! mux. audiotestsrc name=alsasrc1 ! audioconvert name=audioconvert1 ! queue name=queue31 ! mux. avimux name=mux ! filesink name=filesink1 location=test.avi

但是尝试对 alsasrc 做同样的事情会使 avi 文件只保存音频数据而不保存视频:

gst-launch-1.0 appsrc name=appsrc1 ! deinterlace name=deinterlace1 ! mfxh264enc name=mfxh264enc1 ! queue name=queue11 ! mux. alsasrc name=alsasrc1 ! audioconvert name=audioconvert1 ! queue name=queue31 ! mux. avimux name=mux ! filesink name=filesink1 location=/home/user/Downloads/HDTest1.avi
阿夫纳吉德龙

在深入研究 Gstreamer 文档后,我发现了这一点:http ://trac.gateworks.com/wiki/Yocto/gstreamer/audio#Encoding其中列出了所有可用的编码器。

再次检查avimux我看到它可以接收音频/x-alaw 格式的数据。对于这个事实,我可以使用alawenc属于GST-plugins的好,而不是lamemp3enc

所以我最后的管道是这样的:

gst-launch-1.0 alsasrc name=pulsesrc1 ! audioconvert name=audioconvert1 ! alawenc name=alawenc1 ! queue name=aud1 ! mux. appsrc name=appsrc1 ! deinterlace name=deinterlace1 ! mfxh264enc name=mfxh264enc1 ! mux. avimux name=mux ! filesink name=filesink1 location=HDTest1.avi

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章