KTX and KTX2 are very, very close to OpenGL and support storing textures in pretty much any format you can possible represent in OpenGL (compressed and uncompressed internal formats, texture arrays, etc.).
Consider using a tool or library that converts to KTX/KTX2, and then just load that into OpenGL. Here are a few links that have links to some of these tools and libraries:
- KTX Library and Tools
- The KTX File Format and Tools
- Basis universal GPU Texture and Texture Video Compression Codec
In fact, Basis is built on KTX2 and supports real-time transcode from its super-compressed format to various desktop and mobile GPU compressed texture formats, including BC7.