Need Help Normalizing a Database for Media Website
You should read up on Star Schema and Database Normalization. While it's not always the solution for all database designs by any means, I believe following a loose implementation of it is generally good practice in a lot of cases, including yours. (It's even a derivative of what the whole Snowflake database management system is based off of.)
Here's a pretty good document on Star (and Snowflake) schema design: Understand star schema
(While this is targeted towards PowerBI, I think Microsoft does a good job explaining the concepts of the schema designs, so just focus on those sections.)
This is a good straightforward article on Normalization by Microsoft: Description of the database normalization basics
Database Normalization is even more relevant to your design question and more important between the two to understand.
From looking at your first design with the Media table that has 40+ columns, it might make sense to break it into different tables for the things that begin with the same prefix in your column names.
E.g. TrailerAttributes and SocialMediaAttributes could be their own tables. Then things in your Media table that don't have a trailer for example, won't have an empty and unneeded column. You can further normalize things away into their own tables this way too, say for example some common property belonged to both some Trailers and some Social Media rows. You'd make a further decoupled table that stored those attributes shared among the other tables. (This is another lever of normalization, which will make sense after you read my link above.)
It seems like your updated schema is a step in the right direction, especially with aiming to implement a more generic solution.