PES标头中重复的PTS / DTS

时间:2018-12-11 02:40:15

标签: h.264 mpeg mpeg2-ts

在将MPEG-2传输流处理为基本流并且在具有相同PTS / DTS的行中遇到2个PES标头时,在存储定时元数据方面应如何处理?

是否应忽略重复项?如果是这样,后面的数据包数据是否只是被附加到前一帧?

例如https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_4x3/gear1/fileSequence2.ts

在数据包1966和1967处似乎重复了相同的PES标头,这是否意味着以下数据属于同一帧?

以下是数据示例:

PES Header pkt:1966 frame 87 PTS 2110500 DTS 2110500 size 157 payload true
[227 112 183 53 53 231 47 203 210 247 30 0 109 221 26 233 159 237 247 193 210 
244 14 4 144 228 183 130 11 101 92 224 17 206 134 150 185 31 234 80 56 12 149 0 
56 220 227 48 223 177 225 221 222 208 126 22 88 230 65 169 58 153 120 97 74 105 
244 154 65 63 176 2 211 42 246 187 87 208 196 37 206 183 249 224 5 22 57 85 64 
221 241 227 189 59 163 212 241 123 219 115 60 79 1 210 204 229 194 228 42 4 96 
82 16 18 2 84 29 2 64 168 167 200 237 129 180 76 197 134 253 216 111 143 32 17 
1 136 8 208 35 8 120 77 149 33 191 223 12 186 95 0 78 132 252 159 147 224 230]
PES Header pkt:1967 frame 88 PTS 2110500 DTS 2110500 size 157 payload true
PTS repeated from last frame
DTS repeated from last frame
[0 0 1 9 80 0 0 1 6 1 7 0 0 174 0 0 3 0 4 128 0 0 1 6 4 41 181 0 49 71 65 57 52 
3 202 255 252 194 233 250 0 0 250 0 0 250 0 0 250 0 0 250 0 0 250 0 0 250 0 0 
250 0 0 250 0 0 255 128 0 0 1 1 158 121 100 15 192 137 20 128 155 237 91 194 65  
38 179 35 208 112 71 39 128 168 189 178 9 239 222 1 187 200 123 244 218 76 99 
79 102 191 216 209 241 222 221 190 177 41 191 92 245 243 236 90 81 61 154 86 97 
238 175 111 191 191 239 240 7 172 120 72 72 72 74 0 195 61 36 66 60 239 41 122 
35 179 252 1 204]

1 个答案:

答案 0 :(得分:0)

它可能是一个大的基本流帧(例如MPEG视频I帧),分为两个PES数据包。

还要考虑以下问题:MPEG-TS file audio and video frame length

我认为我们应该通过ES帧中的定时信息而不是PTS / DTS处理TS流。