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