使用gstreamer捕获分段音频和视频

使用gstreamer捕获分段音频和视频,gstreamer,gstreamer-1.0,Gstreamer,Gstreamer 1.0,我正在尝试用gstreamer将内部网络摄像头和麦克风中的音频和视频录制到分段文件中 它可以通过执行以下操作来处理单个文件: gst-launch-1.0 -e avfvideosrc ! video/x-raw ! vtenc_h264 ! h264parse ! queue ! mpegtsmux name=mux ! filesink location=test.mp4 osxaudiosrc ! decodebin ! audioconvert ! faac ! aacparse

我正在尝试用gstreamer将内部网络摄像头和麦克风中的音频和视频录制到分段文件中

它可以通过执行以下操作来处理单个文件:

gst-launch-1.0 -e avfvideosrc ! 
video/x-raw ! vtenc_h264 ! h264parse ! queue ! 
mpegtsmux name=mux ! filesink location=test.mp4  osxaudiosrc !
decodebin ! audioconvert ! faac ! aacparse ! queue ! mux.
执行以下操作时,它不起作用:

gst-launch-1.0 -e avfvideosrc !
video/x-raw ! vtenc_h264 ! h264parse ! queue !
splitmuxsink
 muxer=mpegtsmux
 location=test%04d.mp4
 max-size-time=1000000000
 name=mux  osxaudiosrc !
decodebin ! audioconvert ! faac ! aacparse ! queue ! mux.
管道错误:无法将队列1链接到mux

我正在Mac OSX Sierra上使用gstreamer 1.12.3

注意:H264/AAC编码对于我想要实现的目标不是必需的,因此,如果有一些解决方案仅适用于例如avimux,无论出于何种原因,都可以

编辑:我在windows计算机上尝试过此操作,但出现了相同的错误

gst-launch-1.0 -ev ksvideosrc ! video/x-raw !
videoconvert ! queue !
splitmuxsink max-size-time=1000000000 muxer=avimux name=mux
location=video%04d.avi  autoaudiosrc !
decodebin ! audioconvert ! queue ! mux.

就像在Mac上一样,用
avimux替换splitmuxsink!文件链接
有效。我确信我只是错过了一些“管道”逻辑,因此任何可以将我推向正确方向的澄清都会有所帮助。

我需要将音频流发送到多路复用器的音频轨道,如下所示:mux.audio\u 0

gst-launch-1.0 -ev ksvideosrc ! video/x-raw !
videoconvert ! queue !
splitmuxsink max-size-time=1000000000 muxer=avimux name=mux
location=video%04d.avi  autoaudiosrc !
decodebin ! audioconvert ! queue ! mux.audio_O
当文档应该清晰,但您缺少一些关于如何解释文档的基本知识时,就会发生这种情况