red5-server icon indicating copy to clipboard operation
red5-server copied to clipboard

jsmpeg support

Open andryan opened this issue 6 years ago • 10 comments

It would be nice if Red5 or its Pro version could support jsmpeg (https://jsmpeg.com/). I think this can be done/achieved with a Red5 webapp. Chinese CDN providers have video CDN services supporting jsmpeg and western CDN services have yet to follow or even take notice. It should be fairly easy to implement and latency-wise it's comparable to WebRTC with much less complexity.

andryan avatar Oct 02 '19 12:10 andryan

While I can't promise anything as far as support, I will take a look at it.

mondain avatar Nov 22 '19 16:11 mondain

@andryan I've started work on this feature over at https://github.com/Red5/native/tree/master/mpeg

mondain avatar Aug 15 '20 15:08 mondain

Wow, nice! Thanks, Paul!!

On Sat, 15 Aug 2020 at 22.58 Paul Gregoire [email protected] wrote:

@andryan https://github.com/andryan I've started work on this feature over at https://github.com/Red5/native/blob/master/mpeg

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Red5/red5-server/issues/283#issuecomment-674415490, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXEC35S2VC5WBKDOHKU5E3SA2WB5ANCNFSM4I4VYRAQ .

andryan avatar Aug 15 '20 16:08 andryan

Making progress https://photos.app.goo.gl/G3xZJFFZiktKQSq37

mondain avatar Aug 23 '20 21:08 mondain

Nice, can you stream a stopwatch to check the latency delay? I think it should be lower than 500ms with RTMP.

On Mon, Aug 24, 2020 at 4:59 AM Paul Gregoire [email protected] wrote:

Making progress https://photos.app.goo.gl/G3xZJFFZiktKQSq37

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Red5/red5-server/issues/283#issuecomment-678830051, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXEC355GNCKOQGRRDCCN6LSCGGL3ANCNFSM4I4VYRAQ .

andryan avatar Aug 24 '20 06:08 andryan

Its not quite at that point yet, still some slow processing / flow due to a bunch of debugging / logging. Latency is probably the last thing I'll check, but it should be fast as hell since this particular flow is pass-thru.

On Sun, Aug 23, 2020 at 11:52 PM andryan [email protected] wrote:

Nice, can you stream a stopwatch to check the latency delay? I think it should be lower than 500ms with RTMP.

On Mon, Aug 24, 2020 at 4:59 AM Paul Gregoire [email protected] wrote:

Making progress https://photos.app.goo.gl/G3xZJFFZiktKQSq37

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Red5/red5-server/issues/283#issuecomment-678830051, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAXEC355GNCKOQGRRDCCN6LSCGGL3ANCNFSM4I4VYRAQ

.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/Red5/red5-server/issues/283#issuecomment-678941606, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAD4UXI4UG36FEDLM4QKWPTSCIE3NANCNFSM4I4VYRAQ .

-- https://about.me/mondain?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=edit_panel&utm_content=thumb Paul Gregoire about.me/mondain https://about.me/mondain?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=edit_panel&utm_content=thumb

mondain avatar Aug 24 '20 16:08 mondain

@andryan I'll be releasing my mpeg streaming plugin in the next couple of days over on https://github.com/mondain/red5-plugin-releases keep an eye out.

mondain avatar Sep 05 '22 16:09 mondain

One misconception in your original statement: It should be fairly easy to implement and latency-wise it's comparable to WebRTC with much less complexity. There is complexity due to the ingest being either h264+aac or h264+opus and the expected playback of mp1video and mp2audio in jsmpeg. Transcoding is required, unless you can ingest mpeg1/2 content.

mondain avatar Sep 05 '22 16:09 mondain

Hi Paul. Apologies for that. Yes, it needs to ingest MPEG1/2, which in my case I am able to push MPEG1/2 streams with my setup/encoders. The sample nodejs server they provide only acts like a repeater with no flow control, etc. Once again, thanks for making this happen!

andryan avatar Sep 06 '22 01:09 andryan

MPEG1/2 ingest isnt turned on yet, but any other ingest getting into the server is supported; this version transcodes from H264/AAC https://github.com/mondain/red5-plugin-releases/releases/tag/mpeg2-plugin-1.0.1

mondain avatar Sep 06 '22 23:09 mondain