Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatible RTMP stream - Could not parse H264 Nal unit header #348

Closed
hastarin opened this issue Apr 27, 2021 · 6 comments
Closed

Incompatible RTMP stream - Could not parse H264 Nal unit header #348

hastarin opened this issue Apr 27, 2021 · 6 comments

Comments

@hastarin
Copy link

hastarin commented Apr 27, 2021

I'm trying to setup OME via Docker and was going great with a test source from OBS but as soon as I tried sending it a stream from our old Digital Rapids hardware encoder I have hit errors I can't get around.

Server
OS Docker on Gentoo
OvenMediaEngine v0.11.2

Logs
Relevant logs attached.
logs.txt

Additional context
I've attached a dump of a few seconds of the stream from rtmpdump in the hope it may help.

dump.zip

@getroot
Copy link
Sponsor Member

getroot commented Apr 27, 2021

To solve this problem, I think I need to receive and analyze the data sent by the Digital Rapids hardware encoder directly to my OME. It is difficult to analyze the cause with flv dump.

And could you test it with airensoft/ovenmediaengine:dev image?

If that doesn't work, can you temporarily issue us permission to access your server, or send it to our OME server with your encoder?

@hastarin
Copy link
Author

hastarin commented Apr 28, 2021

@getroot thanks for the prompt reply I was not expecting that. I'm not used to developers being in a similar time-zone to me.

Unfortunately the dev image has the same issue.

I can't provide access to the server but I have obtained permission to push a test stream to your OME server and have emailed you directly.

@Keukhan
Copy link
Sponsor Member

Keukhan commented Apr 28, 2021

@hastarin

We installed OME on the public network for debugging.
Please set the Digital Rapids encoder to automatically reconnect. and set it to a low bitrate :)
The RTMP address will be emailed to you.

I couldn't find your email address in your profile. Please give me your e-mail address.

@hastarin
Copy link
Author

@kwonkeukhan Thanks I have emailed you my details in a reply to @getroot with subject: "Re: DigitRapids Stream incompatibility"

@Keukhan
Copy link
Sponsor Member

Keukhan commented Apr 29, 2021

@hastarin

I figured out the cause of the parsing error, and patched it

  • AVCC Bitstream : NALU length + NALU

  • Digital Rapids : NALU Length + Start Code + NALU

In general, rtmp+h264 payload does not include Start Code[4byte], but Rapids encoder does.
So, I did an exception handling.

please check with master version.

Thank you.

NOTE : If you want to use WEBRTC, set the B-Frame option to 0.

@hastarin
Copy link
Author

@kwonkeukhan That is great thank you! I can confirm I have things up and running using the dev Docker container.

At least with LL-DASH and will work on WebRTC now (I need to get OME configured for WSS)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants