It would ultimately make sense if the client, server, and storage or content are separate entities, especially making the server components (front end, transcoding, storage) as granular as possible. Use cases:
-
Some hardware is powerful enough to run both the client and server such as AppleTV. Having storage off device such as a network share would be a good option.
-
There are many server configurations; server front end, transcoding, storage on separate machines. Front end and transcoding on machine A and storage on machine B.
Implementation options are many but a container based one would seem the most straightforward.