0

I'm trying to write a bare-bones video player in C#. Currently, I'm using Accord.Video.FFMPEG, but I'm having to lug around about 20 extra dll files as part of the ffmpeg wrapper. I really don't need any bells and whistles--this video player is a very small part of a much larger application. I need to be able to grab frames as individual images to put in a windows form picturebox, and that's it. I don't want to have to rely on a separate instance of vlc or windows media player or any of that jazz. The videos I'm playing are mp4s created with opencv. Any idea what library is easiest to pull from for this?

I don't want to use Accord anymore partially because it relies on previous versions of MS Runtimes which I can no longer install--this application is going on other PCs, and I want the install to be as easy as possible.

Would it be easier/are there more media library options for C++ or Java?

rllogan
  • 21
  • 4
  • Are you okay with running an external program (silently, no window pop-up) to process / decode and then receiving the output back into your app? – VC.One Sep 19 '19 at 21:08
  • I'd rather not--but maybe that's spite for Accord, which uses three silent applications in tandem--works fine, but I want as few extra files as possible. I'm looking into the opencv Java wrapper currently (better suggestions absolutely welcome) – rllogan Sep 19 '19 at 21:13
  • **(1)** Somehow I missed the OpenCV part. Why not just read the RGB pixel data with that and then write into a Bitmap then display same Bitmap with a PictureBox? **(2)** Another option could be to make an html `video` tag (using WebBrowser component). and use the canvas part to capture the pixels of frames and finally send back to C# **(3)** Not tested but, try this idea to [play via WPF Window](https://www.codeproject.com/Answers/867400/Methods-or-frameworks-for-compositing-blending-vid#answer1) and combine with this [screen grab logic](https://stackoverflow.com/q/24466482/2057709) – VC.One Sep 20 '19 at 00:06

0 Answers0