videojs / mux.js

Lightweight utilities for inspecting and manipulating video container formats.
Apache License 2.0
1.09k stars 212 forks source link

Segment not converting correctly? #35

Closed FranklinWaller closed 8 years ago

FranklinWaller commented 8 years ago

Mux.js converts the following segments (data event is triggered) but once the segments are used in the sourcebuffer the sourcebuffer breaks. (Source buffer is removed exception)

Does anyone know why? Is it because the TS packets has a black screen which can't correctly be converted? Or do suddenly the codecs switch (because of the converter)? They are all from the same livestream and works fine in Safari.

Here are the TS packets: https://www.dropbox.com/s/c6or56ssal5oqxn/TS%20Segments.zip?dl=0

dmlap commented 8 years ago

Have you tried converting the segment on our debug page?

What codec string are you using when you create your SourceBuffer? If your TS segment is missing a video track (possible if the screen is all black), MSE will throw when you attempt to append it to a SourceBuffer that was created with a video codec specified.

FranklinWaller commented 8 years ago

It turned out that the audio in the TS packets was encoded with MPEG4 AAC, which seems to not get through MUX.js properly. We solved this by reencoding our packets with MPEG2 AAC.

In case you still want to look into this we used the following string to initialise the SourceBuffer: 'video/mp4;codecs=avc1.4d400d,mp4a.40.2'.

Thank you for your reply, don't know how we missed the debug page...

forbesjo commented 8 years ago

@imbcmdth do we only support MPEG2 AAC?

imbcmdth commented 8 years ago

We only support ADTS formatted AAC elementary streams.