Re: Media Fragments in Opera

On Thu, Oct 21, 2010 at 7:31 PM, Philip Jägenstedt <philipj@opera.com> wrote:
> On Thu, 21 Oct 2010 01:48:53 +0200, Silvia Pfeiffer
> <silviapfeiffer1@gmail.com> wrote:
>
>> On Thu, Oct 21, 2010 at 10:39 AM, Silvia Pfeiffer
>> <silviapfeiffer1@gmail.com> wrote:
>>>
>>> On Thu, Oct 21, 2010 at 10:32 AM, Chris Double <cdouble@mozilla.com>
>>> wrote:
>>>>
>>>> On Thu, Oct 21, 2010 at 12:24 PM, Silvia Pfeiffer
>>>> <silviapfeiffer1@gmail.com> wrote:
>>>>>>
>>>>>> How do you convert SMPTE to ms when you don't know the framerate? WebM
>>>>>> doesn't provide that information.
>>>>>
>>>>> How do you know at what speed to display WebM files if you don't have
>>>>> a framerate? I'm confused...
>>>>
>>>> We use the timestamps on the frame to know when that frame needs to be
>>>> displayed.
>>>
>>> Oh, so it's possible to have a non-fixed framerate in WebM? Hmm...
>>> Silvia.
>>>
>>
>> It seems to me, looking at
>>
>> http://groups.google.com/a/webmproject.org/group/webm-discuss/browse_thread/thread/2f0120b464b536c1/e7e1003f1be4c4fa?lnk=st&q=smpte#e7e1003f1be4c4fa
>> , one could use the TimecodeScale to calculate the conversion. Since
>> SMPTE is just a marker, it doesn't actually matter what frame rate the
>> video is encoded in. You can convert the SMPTE time marker to an
>> actual ms time and back only depending on what frame rate SMPTE you
>> pick. The actual frames available don't matter since SMPTE on digital
>> files isn't actually properly counting frames. This is why I call it a
>> marker and not a counter.
>
> WebM files don't have to know their own framerate, and if it does it is only
> informational and not actually used for playback.
>
> However, the SMPTE formats actually assume a framerate, taking a guess:
>
> smpte: 30000/1001?
> smpte-25: 25? (if so, could be represented with 3 decimal points)
> smpte-30: 30?
> smpte-30-drop: 29.97? See
> http://en.wikipedia.org/wiki/SMPTE_time_code#Drop_frame_timecode
>
> What does one do when the framerate assumed by the format doesn't match the
> resource, or the framerate of the resource isn't known?

It doesn't matter. You get a SMPTE timecode which is just a label for
a time offset. Whether there is an actual frame at that time offset or
whether there is a frame slightly earlier is something you cannot
control. You will only get a frame at exactly that time if you are
using the SMPTE time code that has a frame rate that equals your
video's framerate. Don't regard SMPTE as a counter, but only as a
marker, i.e. a label for a time offset. The SMPTE folks had that
discussion with me about 10 years ago. ;-)

Cheers,
Silvia.

Received on Thursday, 21 October 2010 08:39:50 UTC