web-dev-qa-db-fra.com

Exécution simultanée de plusieurs pipelines de gstreamer en synchronisation

Grâce à l'aide de "thiagoss", j'ai réalisé ces pipelines ci-dessous pour gstreamer. l'un capture via Webcam et l'autre à partir d'une carte d'acquisition. Le problème est maintenant que je ne sais pas comment les fusionner (je veux que les deux enregistrent dans des conteneurs distincts), pouvez-vous partager vos idées ou solutions sur la façon de faire fonctionner deux pipelines en synchronisation?

 gst-launch-1.0 v4l2src device=/dev/video1 ! videorate  ! 'image/jpeg,framerate=30/1,width=1920,height=1080' ! jpegparse ! avimux ! filesink location=/home/sina/Desktop/Recordings/video.avi . -v

et

 gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv, framerate=24/1, width=1024, height=768' ! x264enc ! mpegtsmux ! filesink location=/home/sina/Desktop/Recordings/Screen.ts . -v
2
Sina Sh

L'un des pipelines est gstreamer 1.0, l'autre utilise 0.10 (défaut de gst-launch). L'utilisation de 1.0 est recommandée.

Vous pouvez simplement avoir les deux lignes de lancement dans la même commande gst-launch-1.0. Vous pouvez également vouloir ajouter des files d'attente avant ou après les encodeurs pour avoir une mise en mémoire tampon dans le pipeline

gst-launch-1.0 v4l2src device=/dev/video1 ! videorate  ! 'image/jpeg,framerate=30/1,width=1920,height=1080' ! jpegparse ! avimux name=muxer ! filesink location=/home/sina/Desktop/Recordings/video.avi v4l2src device=/dev/video0 ! 'video/x-raw, framerate=24/1, width=1024, height=768' ! x264enc ! mpegtsmux ! filesink location=/home/sina/Desktop/Recordings/Screen.ts  -v
1
thiagoss