vlc play 도중 특정 시점에서 이미지 캡쳐 하는 방법
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); mediaPlayer.SetMedia(
new Uri("http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov"));
TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>();
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);
});
}
};


덧글