gstreamer保存的文件没有音频

时间:2019-11-04 11:11:06

标签: gstreamer

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

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

1 个答案:

答案 0 :(得分:0)

您为什么要假设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可能更合适。