<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: John Stamatakis</title>
    <description>The latest articles on DEV Community by John Stamatakis (@surgeonix).</description>
    <link>https://dev.to/surgeonix</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F395389%2F06f6b5a0-a0dc-4014-90a6-708fd9e93b08.png</url>
      <title>DEV Community: John Stamatakis</title>
      <link>https://dev.to/surgeonix</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/surgeonix"/>
    <language>en</language>
    <item>
      <title>Flyleaf: Media Player &amp; Torrent Streamer Application [Open .NET Library &amp; Control for WinForms / WPF]</title>
      <dc:creator>John Stamatakis</dc:creator>
      <pubDate>Sun, 04 Oct 2020 08:13:43 +0000</pubDate>
      <link>https://dev.to/surgeonix/flyleaf-media-player-torrent-streamer-application-open-net-library-control-for-winforms-wpf-3lkn</link>
      <guid>https://dev.to/surgeonix/flyleaf-media-player-torrent-streamer-application-open-net-library-control-for-winforms-wpf-3lkn</guid>
      <description>&lt;p&gt;Customize and develop your own MediaPlayer with the help of the new Flyleaf UserControl which supports WinForms and WPF. Rendering of the control runs even on Visual Studio Designer so you can see live changes that have been performed.&lt;/p&gt;

&lt;p&gt;The Media Player has been developed in C# from scratch to reach best performance and low resource consumption. It is based on FFmpeg multimedia framework (Decoding hardware acceleration &amp;amp; threading) and performs Direct3D / Direct2D / DirectWrite interops based on SharpDX for Video &amp;amp; Text Rendering and does Hardware Acceleration (VideoProcessorBlt &amp;amp; PixelShaders).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/SuRGeoNix/Flyleaf"&gt;https://github.com/SuRGeoNix/Flyleaf&lt;/a&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
      <category>showdev</category>
      <category>github</category>
    </item>
    <item>
      <title>How to perform Hardware (GPU) Video Acceleration in .NET (based on FFmpeg &amp; SharpDX)</title>
      <dc:creator>John Stamatakis</dc:creator>
      <pubDate>Thu, 04 Jun 2020 14:22:20 +0000</pubDate>
      <link>https://dev.to/surgeonix/how-to-perform-hardware-gpu-video-acceleration-in-net-based-on-ffmpeg-sharpdx-5d5p</link>
      <guid>https://dev.to/surgeonix/how-to-perform-hardware-gpu-video-acceleration-in-net-based-on-ffmpeg-sharpdx-5d5p</guid>
      <description>&lt;p&gt;As I've not found any similar resources / documentation I've decided to write my own tutorial / project for how to perform Hardware (GPU) Video Acceleration without using CPU or even RAM at all (focusing on Windows platforms and DirectX).&lt;/p&gt;

&lt;p&gt;I've been using on my Video Player project FFmpeg 's Hardware Acceleration for decoding already, but that was not the heavy part for CPU/RAM as the Video Processing is (converting NV12 texture2D to RGBA - I was doing that with ffmpeg 's sws_scale).&lt;/p&gt;

&lt;p&gt;After straggling by reading few resources and large low level code I've managed to perform it by grabbing ID3D11Texture2D from ffmpeg's decoder and transfer it to mine ID3D11Device (with the help of SharpDX).&lt;/p&gt;

&lt;p&gt;Finally, as I had access to that texture in GPU i called DirectX VideoProcessorBlt to convert it without bringing it back in CPU.&lt;/p&gt;

&lt;p&gt;You will be able to find a Sample .NET CSharp Project and more details at my github -&amp;gt; &lt;a href="https://github.com/SuRGeoNix/MediaRouter/tree/master/Tutorials/VideoPlayer_HWAcceleration"&gt;https://github.com/SuRGeoNix/MediaRouter/tree/master/Tutorials/VideoPlayer_HWAcceleration&lt;/a&gt; &lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
      <category>showdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>PartyTime v1.2 - Video Player &amp; Torrent Streamer (based on FFmpeg)</title>
      <dc:creator>John Stamatakis</dc:creator>
      <pubDate>Tue, 26 May 2020 04:35:00 +0000</pubDate>
      <link>https://dev.to/surgeonix/partytime-v1-2-video-player-torrent-streamer-based-on-ffmpeg-2nk7</link>
      <guid>https://dev.to/surgeonix/partytime-v1-2-video-player-torrent-streamer-based-on-ffmpeg-2nk7</guid>
      <description>&lt;p&gt;The new release (v1.2) is out, supporting more formats and Torrent streaming with much better performance. I would be interested how it does (performance wise) in comparison with other players. Please have a try and let me know!&lt;/p&gt;

&lt;p&gt;Download: &lt;a href="https://github.com/SuRGeoNix/MediaRouter/releases/download/v1.2/PartyTime_v1.2_x64.7z"&gt;https://github.com/SuRGeoNix/MediaRouter/releases/download/v1.2/PartyTime_v1.2_x64.7z&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/SuRGeoNix/MediaRouter"&gt;https://github.com/SuRGeoNix/MediaRouter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
      <category>showdev</category>
      <category>github</category>
    </item>
  </channel>
</rss>
