2015-10-04 1 views
-2

Je voudrais capturer un flux vidéo (+ audio) à MJPEG de ma webcam en .mts récipient en utilisant ce pipeline:utilisant mpegtsmux dans le pipeline GStreamer pour l'enregistrement vidéo

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 

il semble que mon pipeline n » (?) t reconnaître l'mpegtsmux quand je l'utilise AVIMux ou même matroskamux cela fonctionne mais pour autant que je sache pour MPEG-TS je dois utiliser le muxer correct qui est « mpegtsmux »

Ceci est l'avertissement:

ATTENTION: pipeline erroné: Impossible de lier queue0 à mux2

Pouvez-vous me dire quelle partie de mon pipeline est incorrecte? ou que dois-je changer pour obtenir un flux vidéo horodaté à la fin (la durée de la vidéo doit être affichée lorsque je la joue via kdenlive ou VLC)?

Best, Sina

Répondre

0

Je pense que vous manquez un certain encodeur avant MUX. Juste essayer cela sans audio (ajouté x264enc):

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

L'avertissement que vous obtenez est dit clairement .. il ne peut pas lier MUX parce que le MUX ne supporte pas l'image/jpeg des capacités .. il suffit de cocher la section capacités du bloc évier avec la commande:

gst-inspect-1.0 mpegtsmux

Mais il prend en charge par exemple vidéo/x-H264 - donc la nécessité de x264enc