[Webkit-unassigned] [Bug 200615] FMP4 segments streamed into a MediaSource results in a black video.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 27 10:06:31 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=200615

--- Comment #11 from Jer Noble <jer.noble at apple.com> ---
(In reply to Roman R. from comment #10)
> Apart from pausing transition, which is I think the key problem here, there
> is an audio bug. It's apparent browser problem since played asset contains
> video track only at all times but with certain probability (maybe 5-10%? not
> sure) there is an audio noise emitted by browser: it plays some junk.

Without a test case, I can't speculate what's happening here. The original file you provided had strange muxing errors in it; it's possible that you've got poorly mastered media files which are ending up with audio tracks.

> Back to pausing. 
> 
> I gave a quick try to doing play() after every buffer (every frame in our
> case) appending. This sort of works because it keep browser in play state
> however I don't think this is how things are designed to work because this
> is associated with multiple problems: there is still transition through
> paused state and the browser is simply not being able to keep playing state
> reliably. Then at some times play would restart from position zero since
> presumably browser considers playback to be at the end of the stream.

Are you setting MediaSource.duration to some large value, or are you letting the duration naturally increase with each append()?  Because yes, if we reach the end of the duration, we will pause, as that's what the HTML spec says we _must_ do.

> We do have full responsibility for networking, we are fine with this. We
> supply individual video frames in appropriate format recognized by browser
> and crafted for low latency playback and everything we basically expect is
> to have media element extract ES, decoder frames and present them. 

Yes and this is an incorrect assumption.  Again, you're trying to use MSE in a way that it was never designed for; the correct API to use in order to achieve what you're trying to achieve is the WebRTC API.

> Setting autoplay to true, by the way, does not seem to have any effect on
> described behavior. 

Yes, autoplay only has an effect until the first play() command is called. Again, this is defined by the HTML specification.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190827/99e540c4/attachment.html>


More information about the webkit-unassigned mailing list