diff --git a/server/src/audio.rs b/server/src/audio.rs index 1b22129..bf8b9f7 100644 --- a/server/src/audio.rs +++ b/server/src/audio.rs @@ -30,9 +30,12 @@ pub async fn eye_ear( id: u32, ) -> anyhow::Result { gst::init().context("gst init")?; - let desc = format!("v4l2src device={dev} io-mode=mmap ! - queue ! tsdemux ! aacparse ! - queue ! appsink name=asink emit-signals=true"); + let desc = format!( + "v4l2src device=\"{dev}\" io-mode=mmap ! \ + queue ! tsdemux name=demux \ + demux.audio_0 ! queue ! \ + aacparse ! appsink name=asink emit-signals=true" + ); let pipe: gst::Pipeline = gst::parse::launch(&desc)? .downcast() .expect("pipeline"); diff --git a/server/src/video.rs b/server/src/video.rs index 25ace0b..2653b76 100644 --- a/server/src/video.rs +++ b/server/src/video.rs @@ -45,7 +45,12 @@ pub async fn eye_ball( gst::init().context("gst init")?; let desc = format!( - "v4l2src device=\"{dev}\" io-mode=mmap ! queue ! tsdemux name=d ! d. ! h264parse disable-passthrough=true config-interval=-1 ! video/x-h264,stream-format=byte-stream,alignment=au ! appsink name=sink emit-signals=true max-buffers=32 drop=true" + "v4l2src device=\"{dev}\" io-mode=mmap ! \ + queue ! tsdemux name=demux \ + demux.video_0 ! queue ! \ + h264parse disable-passthrough=true config-interval=-1 ! \ + video/x-h264,stream-format=byte-stream,alignment=au ! \ + appsink name=sink emit-signals=true max-buffers=32 drop=true" ); // let desc = format!( // "v4l2src device={dev} io-mode=mmap ! \