2015-10-04 194 views
-2

我想利用这条管道从我的摄像头捕捉MJPEG视频流(+音频)为.MTS容器:录制视频

gst-launch-1.0 v4l2src do-timestamp=true device=/dev/video0 \ !  
'image/jpeg,framerate=30/1,width=1280,height=720' ! videorate \ 
! queue ! mux2. pulsesrc do-timestamp=true \ 
device="alsa_input.pci-0000_00_1b.0.analog-stereo" ! \ 
'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert ! \ 
avenc_aac compliance=experimental ! queue ! \ 
    mux2. mpegtsmux name="mux2" ! filesink location=/home/sina/Webcam.mts 

看来我的管线没有按” (?)笔识别mpegtsmux 当我avimux使用,甚至matroskamux它的工作原理,但据我所知,对MPEG-TS我需要使用正确的复用器,这是“mpegtsmux”

这是警告:

警告:错误的管道:不能链接到队列0 MUX2

能否请你告诉我有什么管道的一部分是错误的?或者我用什么,以便在年底获得时间戳的视频流发生变化(在视频播放期间,当我通过kdenlive或VLC播放必须证明)?

最佳, 新浪

回答

0

我认为你缺少复用之前的一些编码器。 刚刚尝试这一点不带音频(加x264enc):

gst-launch-1.0 v4l2src device=/dev/video0 ! videorate ! queue ! x264enc ! mpegtsmux name="mux2" mux2. ! filesink location=bla.mts

你越来越清楚地说,它..它不能连接复用,因为MUX不支持的功能图像/ JPEG警告..只是检查与命令接收器垫的功能部:

gst-inspect-1.0 mpegtsmux

但是它支持例如视频/ X-H264 - 因而需要对x264enc