Handle missing track attributes safely
masterTrack attributes are dynamic. To prevent AttributeError when accessing a property that doesn't exist for a specific track, pymediainfo overrides __getattribute__ to return None instead of raising an error. You can check for existence using a simple is None check.
from pymediainfo import MediaInfo
media_info = MediaInfo.parse("my_video_file.mp4")
for track in media_info.tracks:
if track.bit_rate is None:
print(f"{track.track_type} tracks do not have a bit rate")
else:
print(f"Bit rate: {track.bit_rate}")