I'm implementing a web application which works with video sources with SMPTE time codes printed on it. Often the SMPTE and media time differs, my understanding of the reason based on what I have read is:
- Video is shot at a regular frame rate (ex: 24 or 30)
- Video is broadcasted on 23.976 or 29.97 frame rate due to NTSC historic reasons when it started broadcasting color (I understand the reasoning)
However, a few things are not clear for me:
- It seems that Today is common to already shot in 23.976 or 29.97 cameras, so why would still this difference exist?
- The current TVs and streaming services don't have the NTSC limitations anymore
- NTSC is not the only standard around, European PAL doesn't have this issue, for example
Now, on my application the user needs to manually select the frame rate, based on my understanding above it doesn't make sense to automatically detect from the video file, because the difference happens when the recorded frame rate is different from the broadcasted one, therefore, it needs to select the broadcasted frame rate, not the video file.
Most of the videos on my application are from streaming services, those streaming services run worldwide, with all sort of different formats... so all of these are confusing me to have a fully understanding of the SMPTE time codes.