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

Issue with Wildcard in StreamMap #1756

Open
bchah opened this issue Dec 31, 2024 · 4 comments
Open

Issue with Wildcard in StreamMap #1756

bchah opened this issue Dec 31, 2024 · 4 comments
Assignees
Labels
patched Patch applied

Comments

@bchah
Copy link
Collaborator

bchah commented Dec 31, 2024

Describe the bug
When using StreamMap with a wildcard in StreamName, FFmpeg raises two errors: "No streams to mux were specified" and "could not create header". The connection occurs (and correctly passes the name of the stream) but no packets appear to be sent.

To Reproduce
Steps to reproduce the behavior:

  • Create stream map XML
  • Define <StreamName> as * or containing a * (like stream_*)
  • Enable stream map in publisher
  • Start stream and observe issue

Expected behavior
Use of a wildcard should not prevent the push from occurring properly.

Logs

omelog.txt

Here is the StreamMap config:

<?xml version="1.0" encoding="UTF-8"?>
<PushInfo>
  <Push>
    <Enable>true</Enable>
    <StreamName>*</StreamName>
    <VariantNames>original_video,aac_audio</VariantNames>
    <Protocol>srt</Protocol>
    <Url>srt://192.168.0.187:9998?streamid=publish:${Stream}:from:ome</Url>
  </Push>      
</PushInfo>

Server (please complete the following information):

  • OS: Docker Ubuntu
  • OvenMediaEngine Version: 0.17.3 and DEV branch

Additional context

  • I tested with SRT push
  • Changing the StreamName to a full stream name (like "helloWorld") fixes the issue
  • I noticed that using ${SourceStream} or ${Stream} as the name had no action as well. I would expect at least ${SourceStream} to act as a passthrough and create pushes for all streams.
  • Happy new year! 🥳
@Keukhan Keukhan self-assigned this Jan 3, 2025
@Keukhan
Copy link
Member

Keukhan commented Jan 3, 2025

@bchah Thanks for reporting. I'll check it out and make improvements.

@Keukhan
Copy link
Member

Keukhan commented Jan 3, 2025

@bchah
After testing, I checked that wildcards work well.
The log the error happened because the OutputProfile stream named (StreamName)_preview only had the Image option in its settings.

[Stream Info]
id(2704157038), msid(0), output(helloWorld_preview), SourceType(Transcoder), RepresentationType(Source), Created Time (Tue Dec 31 20:46:06 2024) UUID(09a233fc-71dc-4b25-b0e5-ab0d224a9024/default/#default#live/helloWorld_preview/o)
	>> Origin Stream Info
	id(100), output(helloWorld), SourceType(Rtmp), Created Time (Tue Dec 31 20:46:06 2024)

	Video Track #4: Public Name(Video_0) Variant Name(image_0) Bitrate(1.00Mb) Codec(9,JPEG,none:0) BSF(AVCC) Resolution(224x128) Framerate(1.00) KeyInterval(0/frame) SkipFrames(-1) BFrames(0) timebase(1/90000)
	Data  Track #5: Public Name(Data_2) Variant Name(Data) Codec(0,Unknown,Passthrough) BSF(ID3v2) timebase(1/1000)

When using SRT for pushing, only Video and Audio data types are transmitted.

I will add the ${SourceStream} macro to soon.

Thanks.

@Keukhan
Copy link
Member

Keukhan commented Jan 3, 2025

c0afd90

Improved StreamName to allow use of the $<SourceStream> macro. but, I did not add the $<Stream> macro because I don't think there will be any cases where it will be used.

This will be reflected in the next release.

GIVE ME SOME WATER :)

Cheers.

@Keukhan Keukhan added the patched Patch applied label Jan 3, 2025
@bchah
Copy link
Collaborator Author

bchah commented Jan 3, 2025

Ah, I see now why the issue occurred. Thank you and I will give it a test with the improvements you made. They look very well hydrated 🤓

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

No branches or pull requests

2 participants