流媒体直播问题

 流媒体直播问题

问题: 微软的ASF直播流 比如mms://202.96.114.251/lstv丽水电视台网络直播,按正常的解析非直播mms协议或rtsp协议流程解析保存文件头部分->解析媒体数据包->构造简单索引对象,将会出现不能拖放,为了解决这个问题我对比flashget的做法,发现他对头只做了三部分的修改:

1, File Properties Object(修改的为红色)

Field name

Field type

Size (bits)

Object ID

GUID

128

Object Size

QWORD

64

File ID

GUID

128

File Size

QWORD

64

Creation Date

QWORD

64

Data Packets Count

QWORD

64

Play Duration

QWORD

64

Send Duration

QWORD

64

Preroll

QWORD

64

Flags

DWORD

32

 

Broadcast Flag

 

1 (LSB)

 

Seekable Flag

 

1

 

Reserved

 

30

Minimum Data Packet Size

DWORD

32

Maximum Data Packet Size

DWORD

32

Maximum Bitrate

DWORD

32

我的做法是 File Size是实际存储文件尺寸, Data Packets Count为经过统计的数据包个数(包括音频视频) Send Duration 是播放时间(100纳秒为单位)采用接收到的最后一个数据包的时间戳减去第一个包的时间戳来换算进去,则为最后一个数据包的时间戳减去第一个包的时间戳来加上 Preroll换算进去;
2. ASF Data Object(修改的为红色)

Field name

Field type

Size (bits)

Object ID

GUID

128

Object Size

QWORD  

64

File ID

GUID

128

Total Data Packets

QWORD

64

Reserved

WORD

16

Data Packets

See section 5.2

varies

Object Size的大小为该对象起直到简单索引对象前的尺寸, Total Data Packets同样为总统计的数据包个数;

2. Data 包部分(修改的为红色)

0010: 82 00 00 40 5D A2 05 51 F8 6C 06 00 00 82 82 4D
0020: 02 00 00 0A 0F 1F 00 00 09 04 6D 06 28 00 2C 54
0030: 5E 3E 6D 52 A4 DE 54 1F 70 3E B5 AC C9 15 C8 AF
0040: 4B 14 DD 5F 8B 76 3A A3 3C A1 A6 59 4E 3A C8 30
0050: D0 F5 4E 4A C4 51 51 74 5F 55 7E 97 55 75 67 97
0060: 55 34 7D 02 23 4C E6 C8 57 3A 27 80 91 E2 D4 67
0070: DE C5 17 A0 2C 25 0D 03 93 82 BA A4 AC 59 98 5A
0080: 02 41 E9 AA D7 AF 42 DC 1E A7 BD 36 58 19 81 54
0090: 0A D0 28 2C 19 B9 01 C4 40 A5 EC B1 F6 0C DA 00
00A0: 63 9C 07 0E 20 54 77 12 18 AD FE EF F0 AB C4 A8
00B0: 68 44 0E 47 83 EF .............

两个时间戳均采用平移即减去第一个包的时间戳如上述为第一包的话以后其他的这两个值均减去51 F8 6C 06以后才写如文件.

    出现问题想象是能正常播放,但是视频图象还是不对 根本就不连续 有时候根本就不切换视频图片,望各位熟悉流媒体专家、朋友们给指导建议,看我分析错在哪里  非常感谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值