Autor Beitrag
Kasko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 126
Erhaltene Danke: 1

Win 10
C# C++ (VS 2017/19), (Java, PHP)
BeitragVerfasst: Sa 02.06.18 11:35 
Hey

gibt es einen effizienteren Weg ausgewählte frames eines Videos auszulesen (z.B. der 30. frame) als den im Anschluss gezeigten Weg?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
using AForge.Video.FFMPEG;

private Bitmap GetThumbnail(string path, int frame)
{
    VideoFileReader reader = new VideoFileReader();
    reader.Open(path);

    for (int i = 1; i < frame; i++)
        reader.ReadVideoFrame();

    return reader.ReadVideoFrame();
}


Das Problem hier ist, dass man alle vorherigen frames ebenso auslesen muss. Um den 30. frame auszulesen muss man also wirklich 30 frames auslesen und nicht gezielt den 30.
Irgendwelche Ideen für andere Wege die weitaus effizienter sind?

LG Kasko ;)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 02.06.18 15:11 
Ich denke nicht, daß es eine andere Methode dafür gibt, als die vorherigen Frames mit auszulesen, da diese ja erst dekodiert werden müssen (pro Frame werden ja nur die Änderungen zum vorherigen Bild gespeichert).