Skip to content

Commit 6d566f7

Browse files
committed
[*] refactor video editor
1 parent 06c0eef commit 6d566f7

39 files changed

+395
-404
lines changed

lib/video-editor/examples/draw_shapes_demo.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::{fs, path::PathBuf, time::Duration};
33
use video_editor::{
44
Result,
55
filters::traits::{VideoData, VideoFilter, VideoFilterConfig},
6-
filters::video::{DrawCircleFilter, DrawRectangleFilter},
6+
filters::graph::{DrawCircleFilter, DrawRectangleFilter},
77
metadata::Metadata,
88
tracks::video_frame_cache::VideoImage,
99
};
@@ -45,7 +45,6 @@ fn apply_filter_to_image(
4545
config: VideoFilterConfig::new(width, height, fps),
4646
frames: vec![VideoImage::Image {
4747
buffer,
48-
is_opaque: false,
4948
}],
5049
from_segment: create_dummy_segment(),
5150
relative_timeline_offset: Duration::ZERO,
@@ -130,7 +129,6 @@ fn main() -> Result<()> {
130129
config: VideoFilterConfig::new(width, height, fps),
131130
frames: vec![VideoImage::Image {
132131
buffer: img5,
133-
is_opaque: false,
134132
}],
135133
from_segment: create_dummy_segment(),
136134
relative_timeline_offset: Duration::ZERO,
@@ -177,7 +175,6 @@ fn main() -> Result<()> {
177175
config: VideoFilterConfig::new(width, height, fps),
178176
frames: vec![VideoImage::Image {
179177
buffer: img6,
180-
is_opaque: false,
181178
}],
182179
from_segment: create_dummy_segment(),
183180
relative_timeline_offset: Duration::ZERO,
@@ -221,7 +218,6 @@ fn main() -> Result<()> {
221218
config: VideoFilterConfig::new(width, height, fps),
222219
frames: vec![VideoImage::Image {
223220
buffer: img,
224-
is_opaque: false,
225221
}],
226222
from_segment: create_dummy_segment(),
227223
relative_timeline_offset: frame_time,
@@ -256,7 +252,6 @@ fn main() -> Result<()> {
256252
config: VideoFilterConfig::new(width, height, fps),
257253
frames: vec![VideoImage::Image {
258254
buffer: img,
259-
is_opaque: false,
260255
}],
261256
from_segment: create_dummy_segment(),
262257
relative_timeline_offset: frame_time,
@@ -278,7 +273,6 @@ fn main() -> Result<()> {
278273
config: VideoFilterConfig::new(width, height, fps),
279274
frames: vec![VideoImage::Image {
280275
buffer: img9,
281-
is_opaque: false,
282276
}],
283277
from_segment: create_dummy_segment(),
284278
relative_timeline_offset: Duration::ZERO,

lib/video-editor/examples/moving_filter_demo.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ fn apply_filter_to_image(
6868
config: VideoFilterConfig::new(width, height, fps),
6969
frames: vec![VideoImage::Image {
7070
buffer: img_with_content,
71-
is_opaque: false,
7271
}],
7372
from_segment: create_dummy_segment(),
7473
relative_timeline_offset: frame_time,

lib/video-editor/examples/play_video_track_demo.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use std::{path::PathBuf, sync::Arc, time::Duration};
44
use video_editor::{
55
metadata::get_metadata,
66
tracks::{
7+
image_track::ImageTrack,
78
manager::Manager,
8-
overlay_track::OverlayTrack,
99
segment::Segment,
1010
track::{InnerTrack, Track},
1111
video_track::{UnifiedVideoTracksCompositorIterator, VideoTrack},
@@ -29,33 +29,33 @@ impl VideoViewerApp {
2929
fn new() -> Self {
3030
let mut manager = Manager::new();
3131

32-
// ===== 添加 Overlay 轨道: 图片 overlay (最上层) =====
33-
let overlay_image_path = PathBuf::from("data").join("test.png");
34-
if !overlay_image_path.exists() {
32+
// ===== 添加 Image 轨道: 图片 (最上层) =====
33+
let image_path = PathBuf::from("data").join("test.png");
34+
if !image_path.exists() {
3535
log::warn!(
3636
"Image file not found: {}, using default metadata",
37-
overlay_image_path.display()
37+
image_path.display()
3838
);
3939
}
4040

41-
let overlay_image_duration = Duration::from_secs(3);
42-
let overlay_image_metadata = Arc::new(get_metadata(&overlay_image_path).unwrap());
41+
let image_duration = Duration::from_secs(3);
42+
let image_metadata = Arc::new(get_metadata(&image_path).unwrap());
4343

44-
let overlay_image_segment = Arc::new(Segment::new(
44+
let image_segment = Arc::new(Segment::new(
4545
Duration::from_secs_f64(0.5), // 从 0.5 秒开始
46-
overlay_image_duration,
47-
overlay_image_metadata.clone(),
46+
image_duration,
47+
image_metadata.clone(),
4848
));
4949

50-
let overlay_image_track = OverlayTrack::new(
51-
overlay_image_metadata,
52-
Duration::from_secs_f64(0.5) + overlay_image_duration,
53-
vec![overlay_image_segment],
50+
let image_track = ImageTrack::new(
51+
image_metadata,
52+
Duration::from_secs_f64(0.5) + image_duration,
53+
vec![image_segment],
5454
);
5555

56-
manager.add_track(Track::Overlay(Arc::new(overlay_image_track)));
56+
manager.add_track(Track::Image(Arc::new(image_track)));
5757
log::info!(
58-
"Added image overlay track: 'test.png' (0.5-3.5s) [Layer 0 - Top]"
58+
"Added image track: 'test.png' (0.5-3.5s) [Layer 0 - Top]"
5959
);
6060

6161
// ===== 添加第一个视频轨道: test.mkv (第二层) =====

lib/video-editor/examples/track_new_demo.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,14 @@ fn main() {
7575
);
7676
}
7777
}
78-
Track::Overlay(overlay_track) => {
79-
log::info!("[Track {}] Overlay", idx);
78+
Track::Image(image_track) => {
79+
log::info!("[Track {}] Image", idx);
8080
log::info!(
8181
" Duration: {:.2}s",
82-
overlay_track.track.duration.as_secs_f64()
82+
image_track.track.duration.as_secs_f64()
8383
);
84-
log::info!(" Segments: {}", overlay_track.track.segments.len());
85-
log::info!(" Hidden: {}", overlay_track.hiding);
84+
log::info!(" Segments: {}", image_track.track.segments.len());
85+
log::info!(" Hidden: {}", image_track.hiding);
8686
}
8787
}
8888
}

0 commit comments

Comments
 (0)