コード例 #1
0
        private void m_btnPlay_Click(object sender, EventArgs e)
        {
            MediaFileReader file = new MediaFileReader(m_txtPath.Text);

            foreach (DecoderStream stream in file.Streams)
            {
                var videoStream = stream as VideoDecoderStream;

                //for (var i = 0; i < 100; i++)
                //{
                //    if (videoStream != null)
                //    {
                //        var buffer = new byte[videoStream.FrameSize];
                //        var frameRead = videoStream.ReadFrame(out buffer);
                //        Bitmap frame = new Bitmap();
                //        //var image = new AVFrame()
                //        //image.data=
                //        //m_videoSurface.Parent.BackgroundImage
                //    }
                //}

                if (videoStream != null)
                {
                    m_videoSurface.Stream = new VideoScalingStream(videoStream, m_videoSurface.ClientRectangle.Width,
                                                                   m_videoSurface.ClientRectangle.Height, PixelFormat.PIX_FMT_BGRA);
                }
            }
        }
コード例 #2
0
 private void ConfigureProgress(MediaFileReader reader)
 {
     if (ProgressEvent != null)
     {
         reader.ProgressEvent += (sender, args) => ProgressEvent?.Invoke(sender, args);
     }
 }
コード例 #3
0
ファイル: VideoPlayer.cs プロジェクト: NichUK/ffmpeg-shard
        private void m_btnPlay_Click(object sender, EventArgs e)
        {
            MediaFileReader file = new MediaFileReader(m_txtPath.Text);

            foreach (DecoderStream stream in file.Streams)
            {
                var videoStream = stream as VideoDecoderStream;

                //for (var i = 0; i < 100; i++)
                //{
                //    if (videoStream != null)
                //    {
                //        var buffer = new byte[videoStream.FrameSize];
                //        var frameRead = videoStream.ReadFrame(out buffer);
                //        Bitmap frame = new Bitmap();
                //        //var image = new AVFrame()
                //        //image.data=
                //        //m_videoSurface.Parent.BackgroundImage
                //    }
                //}

                if (videoStream != null)
                    m_videoSurface.Stream = new VideoScalingStream(videoStream, m_videoSurface.ClientRectangle.Width,
                                                                   m_videoSurface.ClientRectangle.Height, PixelFormat.PIX_FMT_BGRA);
            }
        }
コード例 #4
0
        public (int count, string outputPath) Execute(
            IMetaDataExtractor extractor,
            string folder,
            bool includeSubFolders,
            bool useParallelProcessing)
        {
            var reader = new MediaFileReader
            {
                UseParallelProcessing = useParallelProcessing
            };

            ConfigureProgress(reader);

            var writer = new OutputWriter();

            var outputPath = GetOutputFilePath(folder, extractor.OutputFileName);
            var count      = writer.Execute(outputPath, reader.Execute(extractor, folder, includeSubFolders).ToArray());

            return(count, outputPath);
        }