Click here to Skip to main content
15,883,883 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi i'm in the process of deciding how to decode received video frames, based on the following:

1. platform is Windows.
2. frames are encoded in H264 or H265.
3. GPU should be used as much
4. certainly we prefer less coding and simplest code. we just need to decode and show the result on screen. no recording is required, not anything else.

still i'm a newbie, but i think one may decode a frame directly by directx or through ffmpeg. am i right?
if so, which one is preferred?

What I have tried:

it's not a problem to try to resolve it. it's a decision to be made and for this i need some information i hope i'll get through asking.
Posted
Updated 18-Jan-19 21:23pm

1 solution

Maybe the easiest way is to use LibVLC (which use ffmpeg too), see example here: .net - How to streaming video via VLC api in C# - Stack Overflow[^]
 
Share this answer
 
Comments
ilostmyid2 19-Jan-19 5:06am    
Thank you for replying. Indeed there's no stream. We establish connections from Windows clients to Linux servers via web sockets. Then we process the received packets and extracts video frames, metadata, etc. from them. Then, having the extracted video frames, we want to show them on screen. I know that there's a way to send the frames to GPU so that the graphics card may decode + render them on screen. I need to know how is it possible with fastest and simplest method.
Thanks
RickZeeland 19-Jan-19 6:31am    
That sounds quite unusual, can't you just use a standard RTSP stream, that would make life a lot simpler :)
But if you know what type the "packets" are then you can Google on that of course.
If you don't know what type they are, you could use Wireshark to analyze them, but this not something for newbies I'm afraid ...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900