[MPlayer-dev-eng] [PATCH] further dvr-ms playback improvements
John Donaghy
johnfdonaghy at gmail.com
Wed Aug 30 00:50:01 CEST 2006
>
> this explains the nonsense pts we were seeing. Why didn't you say it
> sooner? :))
Good question - I guess I didnt fully understand the pts issue until I
looked again after reading all the comments. I was concentrating on a
framerate fix.
>
> ths right solution, IMO, is to try and understand how to use those optional
> fields; I can't believe the extended asf just to store mpeg2, so there
> must a general way to handle that frame fragmentation. How does vlc cope
> with dvr-ms/asf ?
Last I looked VLC didnt play dvr-ms. As far as I know no open source
player could because the audio stream header was purposely concealed
in a header extension object. The original purpose of this asf header
extension feature was to support the inclusion of new streams while
allowing legacy players to at least play the video and audio - but
instead M$ used it to hide the audio... even WMP9 cant play dvr-ms. I
think they also broke the asf rules a bit to further ensure it would
be difficult to figure out how to play the format. Once I saw that
lavf could play the video successfully I became tempted to have a go
at discovering the audio - which I eventually did after much trial and
error.
The information we need could still be in the replicated data object
as you suggest - there's about 176 bytes of it per segment - but it
could mean anything. Any ideas on how to go about trying to understand
it? I though of reading it in 2 or 4 byte chunks into ints and just
printing it out to have a look.
>
> duration 6 what? what's the unit?
milisecs afaik - each packet has a time and a duration but I dont
think those values help us at all. The segment replicated data is more
likely to mean something. Here's some slightly better output...
Playing test.dvr-ms.
ASF file format detected.
PACKET START: time=0, duration=6 (ms)
SEGMENT 0: streamno=1 seq=1 type=B0 len=2024
NEW VIDEO FRAME pts=0.000
SEGMENT 1: streamno=2 seq=1 type=9E len=2016
NEW AUDIO FRAME pts=4.000
SEGMENT 2: streamno=1 seq=2 type=B0 len=2024
pres_time=5 VIDEO
SEGMENT 3: streamno=1 seq=3 type=B0 len=1392
pres_time=6 VIDEO
PACKET START: time=6, duration=4 (ms)
SEGMENT 0: streamno=1 seq=3 type=B0 len=632
pres_time=6 VIDEO
SEGMENT 1: streamno=1 seq=4 type=B0 len=608
pres_time=7 VIDEO
SEGMENT 2: streamno=1 seq=5 type=B0 len=2020
pres_time=8 VIDEO
NEW VIDEO FRAME pts=8.000
SEGMENT 3: streamno=1 seq=6 type=B0 len=2024
pres_time=9 VIDEO
SEGMENT 4: streamno=1 seq=7 type=B0 len=1969
pres_time=10 VIDEO
PACKET START: time=10, duration=4 (ms)
SEGMENT 0: streamno=1 seq=7 type=B0 len=55
pres_time=10 VIDEO
SEGMENT 1: streamno=1 seq=8 type=B0 len=2024
pres_time=11 VIDEO
SEGMENT 2: streamno=1 seq=9 type=B0 len=2024
pres_time=12 VIDEO
SEGMENT 3: streamno=1 seq=10 type=B0 len=2024
pres_time=13 VIDEO
SEGMENT 4: streamno=1 seq=11 type=B0 len=1126
pres_time=14 VIDEO
PACKET START: time=14, duration=28 (ms)
SEGMENT 0: streamno=1 seq=11 type=B0 len=898
pres_time=14 VIDEO
SEGMENT 1: streamno=3 seq=1 type=9E len=2
SEGMENT 2: streamno=1 seq=12 type=B0 len=2024
pres_time=39 VIDEO
SEGMENT 3: streamno=1 seq=13 type=B0 len=2024
pres_time=40 VIDEO
SEGMENT 4: streamno=2 seq=2 type=9E len=2016
pres_time=41 AUDIO
NEW AUDIO FRAME pts=41.000
SEGMENT 5: streamno=1 seq=14 type=B0 len=140
pres_time=42 VIDEO
PACKET START: time=42, duration=3 (ms)
SEGMENT 0: streamno=1 seq=14 type=B0 len=1884
pres_time=42 VIDEO
SEGMENT 1: streamno=1 seq=15 type=B0 len=2024
pres_time=43 VIDEO
SEGMENT 2: streamno=1 seq=16 type=B0 len=1816
pres_time=44 VIDEO
SEGMENT 3: streamno=1 seq=17 type=B0 len=1714
pres_time=45 VIDEO
NEW VIDEO FRAME pts=45.000
PACKET START: time=45, duration=4 (ms)
SEGMENT 0: streamno=1 seq=17 type=B0 len=306
pres_time=45 VIDEO
SEGMENT 1: streamno=1 seq=18 type=B0 len=2024
pres_time=46 VIDEO
SEGMENT 2: streamno=1 seq=19 type=B0 len=2024
pres_time=47 VIDEO
SEGMENT 3: streamno=1 seq=20 type=B0 len=2024
pres_time=48 VIDEO
SEGMENT 4: streamno=1 seq=21 type=B0 len=875
pres_time=49 VIDEO
PACKET START: time=49, duration=4 (ms)
SEGMENT 0: streamno=1 seq=21 type=B0 len=1149
pres_time=49 VIDEO
SEGMENT 1: streamno=1 seq=22 type=B0 len=2024
pres_time=50 VIDEO
SEGMENT 2: streamno=1 seq=23 type=B0 len=2024
pres_time=51 VIDEO
SEGMENT 3: streamno=2 seq=3 type=9E len=2016
pres_time=52 AUDIO
NEW AUDIO FRAME pts=52.000
SEGMENT 4: streamno=1 seq=24 type=B0 len=59
pres_time=53 VIDEO
PACKET START: time=53, duration=3 (ms)
SEGMENT 0: streamno=1 seq=24 type=B0 len=1965
pres_time=53 VIDEO
SEGMENT 1: streamno=1 seq=25 type=B0 len=2024
pres_time=54 VIDEO
SEGMENT 2: streamno=1 seq=26 type=B0 len=2024
pres_time=55 VIDEO
SEGMENT 3: streamno=1 seq=27 type=B0 len=1425
pres_time=56 VIDEO
PACKET START: time=56, duration=5 (ms)
SEGMENT 0: streamno=1 seq=27 type=B0 len=599
pres_time=56 VIDEO
SEGMENT 1: streamno=1 seq=28 type=B0 len=220
pres_time=57 VIDEO
SEGMENT 2: streamno=1 seq=29 type=B0 len=2012
pres_time=58 VIDEO
NEW VIDEO FRAME pts=58.000
SEGMENT 3: streamno=1 seq=30 type=B0 len=2024
pres_time=59 VIDEO
SEGMENT 4: streamno=1 seq=31 type=B0 len=2024
pres_time=60 VIDEO
SEGMENT 5: streamno=1 seq=32 type=B0 len=189
pres_time=61 VIDEO
PACKET START: time=61, duration=9 (ms)
SEGMENT 0: streamno=1 seq=32 type=B0 len=1835
pres_time=61 VIDEO
SEGMENT 1: streamno=1 seq=33 type=B0 len=2024
pres_time=62 VIDEO
SEGMENT 2: streamno=3 seq=2 type=9E len=2
SEGMENT 3: streamno=1 seq=34 type=B0 len=2024
pres_time=69 VIDEO
SEGMENT 4: streamno=1 seq=35 type=B0 len=1386
pres_time=70 VIDEO
PACKET START: time=70, duration=4 (ms)
SEGMENT 0: streamno=1 seq=35 type=B0 len=638
pres_time=70 VIDEO
SEGMENT 1: streamno=1 seq=36 type=B0 len=2024
pres_time=71 VIDEO
SEGMENT 2: streamno=1 seq=37 type=B0 len=2024
pres_time=72 VIDEO
SEGMENT 3: streamno=1 seq=38 type=B0 len=2024
pres_time=73 VIDEO
SEGMENT 4: streamno=1 seq=39 type=B0 len=543
pres_time=74 VIDEO
PACKET START: time=74, duration=3 (ms)
SEGMENT 0: streamno=1 seq=39 type=B0 len=1481
pres_time=74 VIDEO
SEGMENT 1: streamno=1 seq=40 type=B0 len=2024
pres_time=75 VIDEO
SEGMENT 2: streamno=1 seq=41 type=B0 len=2024
pres_time=76 VIDEO
SEGMENT 3: streamno=1 seq=42 type=B0 len=1909
pres_time=77 VIDEO
PACKET START: time=77, duration=61 (ms)
SEGMENT 0: streamno=1 seq=42 type=B0 len=115
pres_time=77 VIDEO
SEGMENT 1: streamno=1 seq=43 type=B0 len=2024
pres_time=78 VIDEO
SEGMENT 2: streamno=1 seq=44 type=B0 len=2024
pres_time=79 VIDEO
SEGMENT 3: streamno=1 seq=45 type=B0 len=2024
pres_time=80 VIDEO
SEGMENT 4: streamno=3 seq=3 type=9E len=2
SEGMENT 5: streamno=3 seq=4 type=9E len=2
SEGMENT 6: streamno=1 seq=46 type=B0 len=728
pres_time=138 VIDEO
PACKET START: time=138, duration=4 (ms)
SEGMENT 0: streamno=1 seq=46 type=B0 len=1008
pres_time=138 VIDEO
SEGMENT 1: streamno=2 seq=4 type=9E len=2016
pres_time=139 AUDIO
NEW AUDIO FRAME pts=139.000
SEGMENT 2: streamno=1 seq=47 type=B0 len=2020
pres_time=140 VIDEO
NEW VIDEO FRAME pts=140.000
SEGMENT 3: streamno=1 seq=48 type=B0 len=2024
pres_time=141 VIDEO
SEGMENT 4: streamno=1 seq=49 type=B0 len=203
pres_time=142 VIDEO
PACKET START: time=142, duration=3 (ms)
SEGMENT 0: streamno=1 seq=49 type=B0 len=1821
pres_time=142 VIDEO
SEGMENT 1: streamno=1 seq=50 type=B0 len=2024
pres_time=143 VIDEO
SEGMENT 2: streamno=1 seq=51 type=B0 len=2024
pres_time=144 VIDEO
SEGMENT 3: streamno=1 seq=52 type=B0 len=1569
pres_time=145 VIDEO
PACKET START: time=145, duration=4 (ms)
SEGMENT 0: streamno=1 seq=52 type=B0 len=455
pres_time=145 VIDEO
SEGMENT 1: streamno=1 seq=53 type=B0 len=2024
pres_time=146 VIDEO
SEGMENT 2: streamno=1 seq=54 type=B0 len=2024
pres_time=147 VIDEO
SEGMENT 3: streamno=1 seq=55 type=B0 len=2024
pres_time=148 VIDEO
SEGMENT 4: streamno=1 seq=56 type=B0 len=726
pres_time=149 VIDEO
PACKET START: time=149, duration=4 (ms)
SEGMENT 0: streamno=1 seq=56 type=B0 len=1214
pres_time=149 VIDEO
SEGMENT 1: streamno=1 seq=57 type=B0 len=2020
pres_time=150 VIDEO
NEW VIDEO FRAME pts=150.000
SEGMENT 2: streamno=1 seq=58 type=B0 len=2024
pres_time=151 VIDEO
SEGMENT 3: streamno=1 seq=59 type=B0 len=2024
pres_time=152 VIDEO
PACKET START: time=153, duration=3 (ms)
SEGMENT 0: streamno=1 seq=60 type=B0 len=2024
pres_time=153 VIDEO
SEGMENT 1: streamno=1 seq=61 type=B0 len=2024
pres_time=154 VIDEO
SEGMENT 2: streamno=1 seq=62 type=B0 len=2024
pres_time=155 VIDEO
SEGMENT 3: streamno=1 seq=63 type=B0 len=1366
pres_time=156 VIDEO
PACKET START: time=156, duration=4 (ms)
SEGMENT 0: streamno=1 seq=63 type=B0 len=658
pres_time=156 VIDEO
SEGMENT 1: streamno=1 seq=64 type=B0 len=2024
pres_time=157 VIDEO
SEGMENT 2: streamno=1 seq=65 type=B0 len=2024
pres_time=158 VIDEO
SEGMENT 3: streamno=1 seq=66 type=B0 len=2024
pres_time=159 VIDEO
SEGMENT 4: streamno=1 seq=67 type=B0 len=523
pres_time=160 VIDEO
PACKET START: time=160, duration=4 (ms)
SEGMENT 0: streamno=1 seq=67 type=B0 len=1501
pres_time=160 VIDEO
SEGMENT 1: streamno=1 seq=68 type=B0 len=2024
pres_time=161 VIDEO
SEGMENT 2: streamno=1 seq=69 type=B0 len=304
pres_time=162 VIDEO
SEGMENT 3: streamno=2 seq=5 type=9E len=2016
pres_time=163 AUDIO
NEW AUDIO FRAME pts=163.000
SEGMENT 4: streamno=1 seq=70 type=B0 len=1426
pres_time=164 VIDEO
NEW VIDEO FRAME pts=164.000
PACKET START: time=164, duration=4 (ms)
SEGMENT 0: streamno=1 seq=70 type=B0 len=586
pres_time=164 VIDEO
SEGMENT 1: streamno=1 seq=71 type=B0 len=2024
pres_time=165 VIDEO
SEGMENT 2: streamno=1 seq=72 type=B0 len=2024
pres_time=166 VIDEO
SEGMENT 3: streamno=1 seq=73 type=B0 len=2024
pres_time=167 VIDEO
SEGMENT 4: streamno=1 seq=74 type=B0 len=595
pres_time=168 VIDEO
PACKET START: time=168, duration=3 (ms)
SEGMENT 0: streamno=1 seq=74 type=B0 len=1429
pres_time=168 VIDEO
SEGMENT 1: streamno=1 seq=75 type=B0 len=2024
pres_time=169 VIDEO
SEGMENT 2: streamno=1 seq=76 type=B0 len=2024
pres_time=170 VIDEO
SEGMENT 3: streamno=1 seq=77 type=B0 len=1961
pres_time=171 VIDEO
More information about the MPlayer-dev-eng
mailing list