XMPP. Oh, wait, company based.
- Signal if you want phone number based signups.
- SimpleX Chat if you want to experience full privacy.
- Threema if you want basically the same as SimpleX Chat, but want to give them money first.
But XMPP would be the best option. Snikket is recommended for easy setup.
I download the videos I want to watch with yt-dlp. This applies to audio as well. I then add the videos to my Jellyfin server to watch them on the TV.