使用gstreamer捕获分段音频和视频
我正在尝试用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
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
当文档应该清晰,但您缺少一些关于如何解释文档的基本知识时,就会发生这种情况