I used a 16GB SD card to run Ubuntu server and to install packages, and attached an external USB stick to hold media files. I am running three services on my Raspberry Pi 4 (4GB version) for streaming (memory usage 17%; temperature ~ 64 °C):
Samba can turn your RPi to a network-attached storage (NAS) for holding files. So if the terminal device has media player or ereader apps installed, smb sharing will be sufficient and easy to achieve. Here is a turorial for installing and configuring samba.
I use it mainly for reading PDF eBooks.
There are options for RPi to build multimedia center, such as Plex and Kodi, to stream both music and videos. I used Plex in the past and I will try it on my Pi 4. The installation is straightforward:
and then make the IP static
And then go to https://192.168.x.xx:32400/web/ to config and add media files
It was reported that a Raspberry Pi 4 can handle about 4 or 5 simultaneous direct play files – and very low power consumption.
For music only, there are other options like subsonic, which might be good for RPi 2 and 3.
Calibre has powerful eBook management, although the UI of content server is very simple. It’s good for modern ebook formats, such as epub, mobi, azw3, etc. I can also access the server from my Kindle device, either to download or to read.