Understanding timecode in clusters / simpleblocks
Austin Einter <[email protected]> Sat, 21 Oct 2017 08:35:34 +0530
| Newsgroups | gmane.comp.multimedia.matroska.user |
|---|---|
| Message-ID | <CANXt1k8bsuFj_U181+_SzUSpOL23kT0HxN8RWCxTCF1kQxKuYw@mail.gmail.com> |
--===============8176419751727636804== Content-Type: multipart/alternative; boundary="94eb2c0da5a4ed51b0055c05dcbe" --94eb2c0da5a4ed51b0055c05dcbe Content-Type: text/plain; charset="UTF-8" I have got a mkv file (with h.264 frames). I just converted it to xml format (given below) using some open source. I was able to understand most of the part, except timecode in clusters and simpleblocks. Can you please help me to understand it. *<Cluster>* * <Timecode>0</Timecode>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.0</timecode>* * <keyframe/>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.167</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.083</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.042</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.125</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.292</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.208</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>0.25</timecode>* * <data>* * </data>* * </SimpleBlock>* *.* *. -----------------> Number of simple blocks goes here * *.* * <SimpleBlock>* * <track>1</track>* * <timecode>4.833</timecode>* * <data>* * </data>* * </SimpleBlock>* *</Cluster>* *-----------------> First cluster ends here* *<Cluster>* * <Timecode>5042</Timecode>* * <SimpleBlock>* * <track>1</track>* * <timecode>5.042</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>4.958</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>4.917</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>5.0</timecode>* * <data>* * </data>* *.* *. -----------------> Number of simple blocks goes here* *.* * <SimpleBlock>* * <track>1</track>* * <timecode>9.917</timecode>* * <data>* * </data>* * </SimpleBlock>* * <SimpleBlock>* * <track>1</track>* * <timecode>10.0</timecode>* * <data>* * </data>* * </SimpleBlock>* *</Cluster>* *<Cluster>* * <Timecode>10208</Timecode>* * <SimpleBlock>* * <track>1</track>* * <timecode>10.208</timecode>* * <data>* *.* *. -----------------> Number of simple blocks goes here * *.* Now you can see in 1. 1st cluster timecode is 0 2. 1st cluster / 1st simpleblock timecode is 0.0 3. 1st cluster / 2nd simpleblock timecode is 0.167 4. 1st cluster / 3rd simpleblock timecode is 0.083 and so on... How these timecode values are calculated? Thanks Austin --94eb2c0da5a4ed51b0055c05dcbe Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I have got a mkv file (with h.264 frames).<br>I just conve= rted it to xml format (given below) using some open source.<div><br></div><= div>I was able to understand most of the part, except timecode in clusters = and simpleblocks. Can you please help me to understand it.=C2=A0</div><div>= <br></div><div><div><b><i><Cluster></i></b></div><div><b><i>=C2=A0 &l= t;Timecode>0</Timecode></i></b></div><div><b><i>=C2=A0 <SimpleB= lock></i></b></div><div><b><i>=C2=A0 =C2=A0 <track>1</track>= </i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode>0.0</timecode>= </i></b></div><div><b><i>=C2=A0 =C2=A0 <keyframe/></i></b></div><div>= <b><i>=C2=A0 =C2=A0 <data></i></b></div><div><b><i>=C2=A0 =C2=A0 <= /data></i></b></div><div><b><i>=C2=A0 </SimpleBlock></i></b></div>= <div><b><i>=C2=A0 <SimpleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0= <track>1</track></i></b></div><div><b><i>=C2=A0 =C2=A0 <tim= ecode>0.167</timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 <d= ata></i></b></div><div><b><i>=C2=A0 =C2=A0 </data></i></b></div><d= iv><b><i>=C2=A0 </SimpleBlock></i></b></div><div><b><i>=C2=A0 <Sim= pleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0 <track>1</track= ></i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode>0.083</timeco= de></i></b></div><div><b><i>=C2=A0 =C2=A0 <data></i></b></div><div= ><b><i>=C2=A0 =C2=A0 </data></i></b></div><div><b><i>=C2=A0 </Simp= leBlock></i></b></div><div><b><i>=C2=A0 <SimpleBlock></i></b></div= ><div><b><i>=C2=A0 =C2=A0 <track>1</track></i></b></div><div><b= ><i>=C2=A0 =C2=A0 <timecode>0.042</timecode></i></b></div><div>= <b><i>=C2=A0 =C2=A0 <data></i></b></div><div><b><i>=C2=A0 =C2=A0 <= /data></i></b></div><div><b><i>=C2=A0 </SimpleBlock></i></b></div>= <div><b><i>=C2=A0 <SimpleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0= <track>1</track></i></b></div><div><b><i>=C2=A0 =C2=A0 <tim= ecode>0.125</timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 <d= ata></i></b></div><div><b><i>=C2=A0 =C2=A0 </data></i></b></div><d= iv><b><i>=C2=A0 </SimpleBlock></i></b></div><div><b><i>=C2=A0 <Sim= pleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0 <track>1</track= ></i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode>0.292</timeco= de></i></b></div><div><b><i>=C2=A0 =C2=A0 <data></i></b></div><div= ><b><i>=C2=A0 =C2=A0 </data></i></b></div><div><b><i>=C2=A0 </Simp= leBlock></i></b></div><div><b><i>=C2=A0 <SimpleBlock></i></b></div= ><div><b><i>=C2=A0 =C2=A0 <track>1</track></i></b></div><div><b= ><i>=C2=A0 =C2=A0 <timecode>0.208</timecode></i></b></div><div>= <b><i>=C2=A0 =C2=A0 <data></i></b></div><div><b><i>=C2=A0 =C2=A0 <= /data></i></b></div><div><b><i>=C2=A0 </SimpleBlock></i></b></div>= <div><b><i>=C2=A0 <SimpleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0= <track>1</track></i></b></div><div><b><i>=C2=A0 =C2=A0 <tim= ecode>0.25</timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 <da= ta></i></b></div><div><b><i>=C2=A0 =C2=A0 </data></i></b></div><di= v><b><i>=C2=A0 </SimpleBlock></i></b></div><div><b><i><br></i></b></d= iv><div><b><i>.</i></b></div><div><b><i>. -----------------> Number of s= imple blocks goes here=C2=A0</i></b></div><div><b><i>.</i></b></div><div><b= ><i>=C2=A0 <SimpleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0 <tr= ack>1</track></i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode&g= t;4.833</timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 <data>= </i></b></div><div><b><i>=C2=A0 =C2=A0 </data></i></b></div><div><b><= i>=C2=A0 </SimpleBlock></i></b></div><div><b><i></Cluster></i><= /b></div><div><b><i><br></i></b></div><div><b><i><br></i></b></div><div><b>= <i>-----------------> First cluster ends here</i></b></div><div><b><i><b= r></i></b></div><div><b><i><Cluster></i></b></div><div><b><i>=C2=A0 &= lt;Timecode>5042</Timecode></i></b></div><div><b><i>=C2=A0 <Sim= pleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0 <track>1</track= ></i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode>5.042</timeco= de></i></b></div><div><b><i>=C2=A0 =C2=A0 <data></i></b></div><div= ><b><i>=C2=A0 =C2=A0 </data></i></b></div><div><b><i>=C2=A0 </Simp= leBlock></i></b></div><div><b><i>=C2=A0 <SimpleBlock></i></b></div= ><div><b><i>=C2=A0 =C2=A0 <track>1</track></i></b></div><div><b= ><i>=C2=A0 =C2=A0 <timecode>4.958</timecode></i></b></div><div>= <b><i>=C2=A0 =C2=A0 <data></i></b></div><div><b><i>=C2=A0 =C2=A0 <= /data></i></b></div><div><b><i>=C2=A0 </SimpleBlock></i></b></div>= <div><b><i>=C2=A0 <SimpleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0= <track>1</track></i></b></div><div><b><i>=C2=A0 =C2=A0 <tim= ecode>4.917</timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 <d= ata></i></b></div><div><b><i>=C2=A0 =C2=A0 </data></i></b></div><d= iv><b><i>=C2=A0 </SimpleBlock></i></b></div><div><b><i>=C2=A0 <Sim= pleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0 <track>1</track= ></i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode>5.0</timecode= ></i></b></div><div><b><i>=C2=A0 =C2=A0 <data></i></b></div><div><= b><i>=C2=A0 =C2=A0 </data></i></b></div><div><b><i>.</i></b></div><di= v><b><i>. -----------------> Number of simple blocks goes here</i></b></= div><div><b><i>.</i></b></div><div><b><i>=C2=A0 <SimpleBlock></i></b>= </div><div><b><i>=C2=A0 =C2=A0 <track>1</track></i></b></div><d= iv><b><i>=C2=A0 =C2=A0 <timecode>9.917</timecode></i></b></div>= <div><b><i>=C2=A0 =C2=A0 <data></i></b></div><div><b><i>=C2=A0 =C2=A0= </data></i></b></div><div><b><i>=C2=A0 </SimpleBlock></i></b><= /div><div><b><i>=C2=A0 <SimpleBlock></i></b></div><div><b><i>=C2=A0 = =C2=A0 <track>1</track></i></b></div><div><b><i>=C2=A0 =C2=A0 &= lt;timecode>10.0</timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 = <data></i></b></div><div><b><i>=C2=A0 =C2=A0 </data></i></b></d= iv><div><b><i>=C2=A0 </SimpleBlock></i></b></div><div><b><i></Clus= ter></i></b></div><div><b><i><Cluster></i></b></div><div><b><i>=C2= =A0 <Timecode>10208</Timecode></i></b></div><div><b><i>=C2=A0 &= lt;SimpleBlock></i></b></div><div><b><i>=C2=A0 =C2=A0 <track>1<= /track></i></b></div><div><b><i>=C2=A0 =C2=A0 <timecode>10.208<= /timecode></i></b></div><div><b><i>=C2=A0 =C2=A0 <data></i></b></d= iv><div><b><i>.</i></b></div><div><b><i>. =C2=A0-----------------> Numbe= r of simple blocks goes here=C2=A0</i></b></div><div><b><i>.</i></b></div><= div><b><i><br></i></b></div></div><div><b><i><br></i></b></div><div><p styl= e=3D"margin:0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit= ;font-stretch:inherit;font-size:15px;line-height:inherit;font-family:Arial,= "Helvetica Neue",Helvetica,sans-serif;vertical-align:baseline;cle= ar:both;color:rgb(36,39,41)">Now you can see in</p><ol style=3D"margin:0px = 0px 1em 30px;padding:0px;border:0px;font-variant-numeric:inherit;font-stret= ch:inherit;font-size:15px;line-height:inherit;font-family:Arial,"Helve= tica Neue",Helvetica,sans-serif;vertical-align:baseline;list-style-pos= ition:initial;color:rgb(36,39,41)"><li style=3D"margin:0px 0px 0.5em;paddin= g:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inheri= t;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:in= herit;vertical-align:baseline;word-wrap:break-word">1st cluster timecode is= 0</li><li style=3D"margin:0px 0px 0.5em;padding:0px;border:0px;font-style:= inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-= size:inherit;line-height:inherit;font-family:inherit;vertical-align:baselin= e;word-wrap:break-word">1st cluster / 1st simpleblock timecode is 0.0</li><= li style=3D"margin:0px 0px 0.5em;padding:0px;border:0px;font-style:inherit;= font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inh= erit;line-height:inherit;font-family:inherit;vertical-align:baseline;word-w= rap:break-word">1st cluster / 2nd simpleblock timecode is 0.167</li><li sty= le=3D"margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inh= erit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height= :inherit;font-family:inherit;vertical-align:baseline;word-wrap:break-word">= 1st cluster / 3rd simpleblock timecode is 0.083</li></ol><p style=3D"margin= :0px 0px 1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stret= ch:inherit;font-size:15px;line-height:inherit;font-family:Arial,"Helve= tica Neue",Helvetica,sans-serif;vertical-align:baseline;clear:both;col= or:rgb(36,39,41)">and so on...</p><p style=3D"margin:0px 0px 1em;padding:0p= x;border:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:15= px;line-height:inherit;font-family:Arial,"Helvetica Neue",Helveti= ca,sans-serif;vertical-align:baseline;clear:both;color:rgb(36,39,41)">How t= hese timecode values are calculated?=C2=A0</p><p style=3D"margin:0px 0px 1e= m;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;= font-size:15px;line-height:inherit;font-family:Arial,"Helvetica Neue&q= uot;,Helvetica,sans-serif;vertical-align:baseline;clear:both;color:rgb(36,3= 9,41)">Thanks<br>Austin</p><p style=3D"margin:0px 0px 1em;padding:0px;borde= r:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:15px;line= -height:inherit;font-family:Arial,"Helvetica Neue",Helvetica,sans= -serif;vertical-align:baseline;clear:both;color:rgb(36,39,41)"><br></p></di= v><div><b><i><br></i></b></div><div><b><i><br></i></b></div><div><br></div>= </div> --94eb2c0da5a4ed51b0055c05dcbe-- --===============8176419751727636804== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Matroska-users mailing list [email protected] https://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-users Read Matroska-Users on GMane: http://dir.gmane.org/gmane.comp.multimedia.matroska.user --===============8176419751727636804==--