使用 gstreamer 将音频和视频捕获到文件中

capturing both audio and video with gstreamer to a file

我正在使用 gstreamer 将音频和视频捕获到一个文件中。我试过如下:

gst-launch-1.0 -v -e autovideosrc ! queue ! omxh264enc ! 'video/x-h264, 
stream-format=(string)byte-stream' ! h264parse ! queue ! autoaudiosrc ! 
voaacenc ! qtmux ! filesink location=test.mp4

这个 returns 错误提示我无法将队列连接到音频文件。

仅捕获视频:

gst-launch-1.0 -v -e autovideosrc ! queue ! omxh264enc ! 'video/x-
h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! 
filesink location=test.mp4

工作正常。

您的管道不正确。你只有一个连续的管道。您要找的更像是 "Y" 形的:

gst-launch-1.0 -v -e autovideosrc ! queue ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! queue ! qtmux0. autoaudiosrc ! voaacenc ! qtmux ! filesink location=test.mp4

注意队列后面 qtmux0 处的点。这意味着 "connect to the qtmux0 element"(这是管道中第一个 qtmux 元素的默认名称)。之后没有“!” - 所以后面的 autoaudiosrc 元素标志着管道新 "branch" 的开始。

我没有测试这个..所以我希望语法正确..