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

MPEG-TS publication service creates invalid FFmpeg syntax #597

Closed
orryverducci opened this issue Aug 2, 2023 · 3 comments
Closed

MPEG-TS publication service creates invalid FFmpeg syntax #597

orryverducci opened this issue Aug 2, 2023 · 3 comments
Assignees
Labels
bug Program error or software error or software anomaly.

Comments

@orryverducci
Copy link

Describe the bug
Some of the advanced settings in the MPEG-TS protocol publication service create invalid syntax, causing the FFmpeg process to return an error and fail to start.

The default settings trigger this bug, resulting in a publication service that doesn't work out of the box.

To Reproduce
Steps to reproduce the behavior:

  1. Create a channel
  2. Add a publication output
  3. Select the MPEG-TS protocol
  4. Use any valid URL (e.g. a multicast IP address) and add the output without changing any other settings
  5. Start the publication
  6. See the output go to an error state (red toggle switch)

Expected behavior
The MPEG-TS output shouldn't return an error.

Desktop:

  • OS: Windows
  • Browser: Edge
  • Version: 2.6

Additional context
Having had a look at the errors and the code this is caused by a few different issues, which all lead to the same problem depending on the advanced settings used:

  • The service name (service_name) and provider (service_provider) are set as if they're muxer options, but they're not. Instead they should be set as metadata (e.g. -metadata service_name="Service 1" -metadata service_provider="Restreamer")
    • These are set by default causing it to error unless changed. This can be worked around by deleting these values in advanced settings.
  • muxrate is set to VBR by default, but this is not a valid value. Only integers are accepted. This should be set to nothing to default to VBR.
    • Once again this causes an error unless changed, and can be worked around by deleting the value.
  • If more than one mpegts_flags is set, these are sent to ffmpeg as a comma separated list (e.g. latm,system_b). This is not valid syntax for flags. Instead they should be set as a single string containing each flag in order preceded by a plus (e.g. +latm+system_b).

I did consider opening a pull request to change this myself, however I came to the conclusion that the metadata and flags syntax would required some design changes, and I wasn't sure how best to go about that.

@orryverducci orryverducci added the bug Program error or software error or software anomaly. label Aug 2, 2023
@orryverducci
Copy link
Author

I've realised this can be fixed without significant design changes, so I've created a pull request (datarhei/restreamer-ui#39) which fixes these issues.

@svenerbeck
Copy link
Member

Dear @orryverducci,

Thank you so much for your detailed feedback and for taking the time to identify this issue and provide insights into the problem and potential solutions.

We truly appreciate your commitment and initiative in creating a pull request. Your contribution is invaluable and will help us efficiently address your highlighted bug.

Please be assured that we will carefully review your pull request and incorporate it into our development efforts.
Once again, thank you for your support and for helping improve our product.

Cheerio,
Sven

@ioppermann
Copy link
Member

@orryverducci

I merged your PR in to the dev branch (datarhei/restreamer-ui@94eb24c). Thanks a lot 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Program error or software error or software anomaly.
Projects
None yet
Development

No branches or pull requests

4 participants