최대 1 분 소요

vlc play 도중 특정 시점에서 이미지 캡쳐 하는 방법

ref : https://code.videolan.org/videolan/LibVLCSharp/-/issues/203

 string _rtspEndpoint = "rtsp://admin:password@192.168.1.108:554/channel=1&stream=0.sdp"; Core.Initialize(); LibVLC libVLC = new LibVLC();             libVLC.SetLogFile("c:\\temp\\vlc.log"); MediaPlayer player = new MediaPlayer(libVLC); player.Play(new Media(libVLC, _rtspEndpoint, FromType.FromLocation)); player.TakeSnapshot(0, "c:\\temp\\pic.jpeg", 0, 0);

ref

mediaPlayer.SetMedia(

new Uri(“http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov”));

TaskCompletionSource tcs = new TaskCompletionSource();

var lastSnapshot = 0L;

mediaPlayer.TimeChanged += (sender, e) =>

{

// Maps the time to a 5-seconds interval to take a snapshot every 5 seconds

var snapshotInterval = e.NewTime / 5000;

// Take a snapshot every 5 seconds

if (snapshotInterval > lastSnapshot)

{

lastSnapshot = snapshotInterval;

ThreadPool.QueueUserWorkItem(_ =>

{

mediaPlayer.TakeSnapshot(0, Path.Combine(destinationFolder, $”{snapshotInterval}.png”), 1024, 0);

});

}

};