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
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