我正在尝试使用此命令从流中创建多个文件,但它们没有音频播放,我认为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
您为什么要假设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
可能更合适。