narrowed down the required plugins

This commit is contained in:
Nickiel12 2024-08-13 20:00:32 -07:00
parent 0bed2e8595
commit 27504d9754
3 changed files with 14 additions and 24 deletions

View file

@ -17,7 +17,7 @@ gst-plugin-rtsp = "0.13.0"
gst-plugin-hlssink3 = "0.13.0" gst-plugin-hlssink3 = "0.13.0"
gst-plugin-reqwest = "0.13.0" gst-plugin-reqwest = "0.13.0"
gstreamer = { version = "0.23.0", features = ["v1_22"] } gstreamer = { version = "0.23.0", features = ["v1_24"] }
gstreamer-webrtc = { version = "0.23.0", features = ["v1_22"] } gstreamer-webrtc = { version = "0.23.0", features = ["v1_22"] }
lazy_static = "1.5.0" lazy_static = "1.5.0"
log = "0.4.22" log = "0.4.22"

View file

@ -42,7 +42,7 @@ Some utility commands:
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad # contains gst-webrtc gst_all_1.gst-plugins-bad # contains gst-webrtc
gst_all_1.gst-plugins-ugly # contains x264enc gst_all_1.gst-plugins-ugly # contains x264enc
gst_all_1.gst-plugins-rs #contains whipclientsink # gst_all_1.gst-plugins-rs #contains whipclientsink
mediamtx mediamtx
libnice libnice
]; ];

View file

@ -35,8 +35,8 @@ fn main() -> Result<(), Error> {
gstrswebrtc::plugin_register_static()?; gstrswebrtc::plugin_register_static()?;
gstrsrtp::plugin_register_static()?; gstrsrtp::plugin_register_static()?;
gstrsrtsp::plugin_register_static()?; // gstrsrtsp::plugin_register_static()?;
gstwebrtchttp::plugin_register_static()?; // gstwebrtchttp::plugin_register_static()?;
// gsthlssink3::plugin_register_static()?; // gsthlssink3::plugin_register_static()?;
// working pipeline // working pipeline
@ -59,39 +59,29 @@ fn main() -> Result<(), Error> {
let signaller = whipsink.property::<Signallable>("signaller"); let signaller = whipsink.property::<Signallable>("signaller");
signaller.set_property_from_str( signaller.set_property_from_str(
"whip-endpoint", "whip-endpoint",
&format!("http://localhost:{}/whip", 8889), "http://localhost:8080/whip"
); );
} }
for i in whipclientsink.list_properties() {
println!("{:?}", i.type_());
}
pipeline pipeline
.add_many(&[&videotestsrc, &x264enc, &whipclientsink]) .add_many(&[&videotestsrc, &x264enc, &whipclientsink])
.unwrap(); .unwrap();
Element::link_many(&[&videotestsrc, &x264enc, &whipclientsink]) Element::link_many(&[&videotestsrc, &x264enc, &whipclientsink])
.unwrap(); .unwrap();
if let Some(whipsink) = whipclientsink.dynamic_cast_ref::<gstrswebrtc::webrtcsink::WhipWebRTCSink>() {
let signaller = whipsink.property::<Signallable>("signaller");
signaller.set_property_from_str(
"whip-endpoint",
&format!("http://localhost:{}/whip", 8889),
);
}
// PIPELINE START // PIPELINE START
pipeline.set_state(State::Playing).unwrap(); pipeline.set_state(State::Playing).unwrap();
let bus = pipeline.bus().unwrap();
let _ = bus.timed_pop_filtered(
loop { gstreamer::ClockTime::NONE,
if to_quit.load(std::sync::atomic::Ordering::SeqCst) { &[gstreamer::MessageType::Eos]
println!("Recieved Ctrl+C, stopping"); );
pipeline.set_state(State::Null).unwrap();
break;
}
std::thread::sleep(std::time::Duration::from_millis(200));
}
println!("Success!"); println!("Success!");