同时同步运行多个 gstreamer 管道

同时同步运行多个 gstreamer 管道

感谢“thiagoss”的帮助,我为 gstreamer 制作了以下管道。一个是通过网络摄像头捕获,另一个是通过帧抓取器捕获。现在的问题是我不知道如何合并它们(我希望它们都记录到单独的容器中),您能分享一下如何同步运行两个管道的想法或解决方案吗?

 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

 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

答案1

其中一个管道是 gstreamer 1.0,另一个使用 0.10(gst-launch 的默认值)。建议使用 1.0。

您可以在同一个 gst-launch-1.0 命令中使用两个启动行。您可能还想在编码器之前或之后添加一些队列,以便在管道中进行一些缓冲

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

相关内容