When you set up your libraries, it's important that you point the path at the root folder, jellyfin expects a fairly specific naming convention.
Here's how it is suggested to setup your tv shows for instance: https://jellyfin.org/docs/general/server/media/shows
Simplistically, lets say you have 2 shows called "Friends" and "The Witcher", each with multiple seasons, and your NFS mount is /mnt/media.
You'd create something like:
/mnt/media/tv
That's where you'd point your tv library, at that "tv" directory. It doesn't actually matter what the directory is called, but the library should be of type "shows".
Under that /mnt/media/tv directory, you would create a directory for each show, and it would be the name of that show, so you'd get:
/mnt/media/tv/Friends/ and /mnt/media/tv/The Witcher/
Then under those directories you would create seasons, to put your episodes in, ie
/mnt/media/tv/The Witcher/Season 01/The Witcher - 01x01 - The End's Beginning.avi
/mnt/media/tv/The Witcher/Season 01/The Witcher - 01x02 - Four Marks.avi
If you pointed the root of your library at /mnt/media/tv/The Witcher/Season 01/, it would probably fail to parse the episodes.
If you create your library as /mnt/media/allmystuff/ and just ram everything in there, it's unlikely to find anything.
This may all seem a bit complicated, but there's lots of tools that are useful to automate this process.
I personally recommend https://sonarr.tv/
If you are doing all of the above correctly, we'll have to dig a bit deeper for more details.
As for "unsupported formats", that most commonly happens when you have enabled hardware acceleration and it's not working properly.
Whilst there's several reasons why it may not be working, to rule it out, try temporarily disabling Hardware Acceleration under Dashboard -> Playback -> Transcoding.
The system should fall back to CPU transcoding which may be slow (hardware dependent), but at least it should function.