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

RTMP metadata is lost #903

Open
varsill opened this issue Oct 30, 2024 · 0 comments
Open

RTMP metadata is lost #903

varsill opened this issue Oct 30, 2024 · 0 comments

Comments

@varsill
Copy link
Contributor

varsill commented Oct 30, 2024

Currently, when we use RTMP.SourceBin, some metadata information that might be present in the RTMP stream is lost.
An example might be framerate, send as a part of OnMetaData message or SetDataFrame message. We don't pass it any further from the RTMP.Source.
FLV stream produced by the RTMP.Source is then demuxed with FLV.Demuxer and the H264 format generated by the latter element is missing framerate field as information about the framerate might not be available in the FLV stream.
To solve this problem, we need to be able to pass out-of-band metadata of RTMP stream to the FLV demuxer. The following options are available:

  • we could add RTMPPayload stream format (with additional metadata fields), send it from RTMP.Source instead of Membrane.RemoteStream and accept it within FLV.Demuxer - the problem is, that this solution "doesn't scale well": if we were to deliver FLV stream unwrapped from yet another protocol, we would need to make FLV.Demuxer accept yet another stream format
  • we could pass metadata as options to FLV.Demuxer - however a problem would occur if metadata would change throughout the stream
  • we could make FLV.Demuxer accept some FLV stream format, which could contain some optional metadata map
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

1 participant