Hi there 👋

Welcome to my blog. I am a Chinese Rust developer. All part-time, remote work and outsourcing opportunities are welcome. I am good at most of the application development, including: website development, APP development, desktop application development, service development. Contact me: rstursoc@gmail.com

Using Gstreamer Merge Modules on Tauri

Step One: Directory Structure Place all msm files into wix directory. And then create one build.wxs file. ├── tauri.conf.json └── wix ├── base-system-1.0-msvc-x86_64-1.22.5.msm ├── build.wxs ├── gstreamer-1.0-codecs-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-core-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-devtools-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-editing-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-effects-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-encoding-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-net-msvc-x86_64-1.22.5.msm ├── gstreamer-1.0-playback-msvc-x86_64-1.22.5.msm └── gstreamer-1.0-system-msvc-x86_64-1.22.5.msm Step Two: build.wxs File Content The gstreamer runtime will be installed under TARGETDIR/gstreamer/ directory. Add bin path to system environment variable make sure the App can find gstreamer libs....

August 26, 2023 · 3 min · 476 words · RstursOC

Gstreamer Editing Services + Tauri Tips

0. Create Clip From File Path let file_path = "path_to_video"; // Add file:/// to the beginning of path let path_for_gstreamer = format!("file:///{}", file_path); // Then, we can get clip from the path let uri_clip = UriClip::new(&path_for_gstreamer)?; 1. Set Video Track Resolution // The variable type must be i32 let width: i32 = 1920; let height: i32 = 1080; let restriction = Caps::builder("video/x-raw") .field("width", width) .field("height", height) .build(); // Create new video track let video_track = VideoTrack::new(); // Set resolution video_track....

August 25, 2023 · 2 min · 361 words · RstursOC