-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Video quality issue when using OpenGL renderer #12
Comments
The above screenshot is from the following video https://www.youtube.com/watch?v=qw--VYLpxG4 I have a downloaded file of the above video on which I did comparison of the video quality of both ffplayer and hplayer. |
The video in fullscreen mode looks more distorted. The colors do not match with the original video too! |
The scaling of picture caused distortion, I changed GL_NEAEST => GL_LINEAR,this can help to reduce distortion, although it consumes more computing resources.
|
Great! Now there is no distortion! The colors of hplayer video are dim/lighter while the colors of the ffplayer are bright/darker. I noticed that VLC and other media players also play same like ffplayer i.e. brighter and darker, this means there is still some issue which degrades the hplayer video quality. |
The official ffplay has some sdl_texture_format_map which could be something needed for accurate colors?
|
hplayer is about to be the best player, it's only one step away from being the best player! It only needs to have some algorithm for displaying accurate colors and that's it! hplayer is neat, simple, fast and has appropriate features that no other player has! By the way, QtAV project also displays accurate colors and they manage it like this. |
May be it's due to some issues in OpenGL code? |
OK, I found that setting dst_pix_fmt to BGR24 resolves the issue but hplayer doubles the CPU and GPU usage while ffplayer plays the same video with same quality at lower CPU and GPU usage. |
ffplay uses ffmpeg and sdl,sdl uses d3d on Windows,OpenGL on Linux. |
Set |
Maybe we can try to integrate SDL into hplayer, renderer is too complex. |
SDL looks good, it's easy to use and also efficient. By the way, for windows and linux, VLC uses Qt https://code.videolan.org/videolan/vlc/-/tree/master/modules/gui/qt and I have noticed that VLC plays videos with lowest CPU and GPU usage. I know VLC uses it's own libraries alongwith ffmpeg but for rendering it uses Qt and OpenGL(by default). |
By the way, ffplay(ffmpeg) is the best! VLC is only good for playing local videos. I compared both ffplay and VLC for streaming videos and I noticed that ffplay uses comparatively less CPU and GPU and also ffplay plays the videos smoothly with much less delay! |
If you wonder how to integrate SDL2 with Qt then see this: |
ffplay is SDL based and QtAV is Qt OpenGL(default) based. |
Try hplayer.conf |
|
I am going to create separate aspect ratio and freeze related issues to avoid cluttering this issue. |
Playing a same video using both ffplayer and hplayer, I noticed that the hplayer video quality is different than the official ffplayer.c video quality.
Video quality of ffplayer:
Video quality of hplayer:
I noticed that the network / streaming and local video quality played by hplayer is poor.
hplayer is an amazing project, it deserves high-quality video playback capabilities.
The text was updated successfully, but these errors were encountered: