As is, mux.js doesn't seem to support live, continuous transport streams, such as those received from a networked TV tuner like an HDHomeRun. I've made this work by adding support for recognizing end_of_seq_rbsp NALs and having VideoSegmentStream.push() call flush() on itself when it receives an end_of_seq_rbsp NAL. However, before trying to upstream this, I have a few questions:
Is this a feature that's desired/in scope for mux.js? We certainly want it for our use case (pulling HDHomeRun streams with the new fetch() streaming API), and I suppose it might be desirable for non-HLS or DASH-like Internet TS streams (if those exist?).
Is this the best way to make this work, or is it a hack?
Assuming this is something that can be upstreamed, there's a separate issue of supporting other audio codecs, such as AC-3. We have a working JavaScript decoder, and can otherwise send it as pass-through data on some devices like Chomecasts. But that's a hairier beast, so I'll leave that to another issue.
As is, mux.js doesn't seem to support live, continuous transport streams, such as those received from a networked TV tuner like an HDHomeRun. I've made this work by adding support for recognizing end_of_seq_rbsp NALs and having VideoSegmentStream.push() call flush() on itself when it receives an end_of_seq_rbsp NAL. However, before trying to upstream this, I have a few questions:
Is this a feature that's desired/in scope for mux.js? We certainly want it for our use case (pulling HDHomeRun streams with the new fetch() streaming API), and I suppose it might be desirable for non-HLS or DASH-like Internet TS streams (if those exist?).
Is this the best way to make this work, or is it a hack?
Assuming this is something that can be upstreamed, there's a separate issue of supporting other audio codecs, such as AC-3. We have a working JavaScript decoder, and can otherwise send it as pass-through data on some devices like Chomecasts. But that's a hairier beast, so I'll leave that to another issue.