首页 > 解决方案 > gstreamer 保存的文件没有音频

问题描述

我正在尝试使用此命令从流中创建多个文件,但它们没有音频播放,我认为 decodebin 应该处理它,我做错了什么?

gst-launch-1.0 -e filesrc location=video.mp4 ! queue ! decodebin ! queue ! videoconvert ! queue ! timeoverlay ! x264enc key-int-max=10 ! h264parse ! splitmuxsink location=videos/test%02d.mp4 max-size-time=1000000000000

标签: gstreamer

解决方案


你为什么做出这样的假设来decodebin处理它?decodebin会将音轨解码为原始音频并公开音频垫。如果您不使用该垫,它将不会将自己放入文件中。

由于您转码,您也必须重新编码音频:

gst-launch-1.0 -e filesrc location=video.mp4 ! queue ! decodebin ! queue ! \
videoconvert ! queue ! timeoverlay ! x264enc key-int-max=10 ! h264parse ! \
splitmuxsink location=videos/test%02d.mp4 max-size-time=1000000000000 \
decodebin0. ! queue ! voaacenc ! aacparse ! splitmuxsink0.

如果您不想重新编码但通过音频decodebin是错误的方式。parsebin在这种情况下可能更合适。


推荐阅读