VLC should be able to play on framebuffer. using --vo fb but i couldn't make it work.
Another alternative that works well is mpv. setting the --vo option.
mpv --vo drm myvideo.mp4
you can check which ones you have with mpv --vo
help.
for example
Available video outputs: libmpv render API for libmpv gpu Shader-based GPU Renderer sdl SDL 2.0 Renderer null Null video output image Write video frames to image files tct true-color terminals caca libcaca drm Direct Rendering Manager (software scaling)
caca will run on a framebuffer terminal using ascii characters.
tct will run on a fb terminal using ascii as well. if the terminal is running inside x11 i noticed it does look better using tct and doesnt use ascii.
and drm will use the framebuffer in direct rendering. which has a lot more colors and actual pixels.