bbc / brave

Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud
Apache License 2.0
653 stars 148 forks source link

"GStreamer error: clock problem." when changing base resolution #61

Closed dromer closed 3 years ago

dromer commented 4 years ago

My input and mixer objects are both 1280x720, but when I add an output stream it will automatically take the default resolution of 640x360 instead of it's source object.

So I changed the default width and height in my configuration, but then the output object (to rtmp) breaks with: GStreamer error: clock problem.

This happens with both gstreamer 1.14.x and 1.16.x

The same error occurs when setting the resolution on the output object directly.

dromer commented 4 years ago

When I set the resolution to ie. 848x480 I get: Pipeline construction is invalid, please add queues.

Has anyone tested this with outputs other than 640x360 ?

matthew1000 commented 4 years ago

I definitely got it working with 720p ... you may have found a bug though.

dromer commented 4 years ago

I tried with different base images. 19.04 and 19.10 (the later has gstreamer 1.16.x) Same result.

I have a very simple pipeline. I open a 720p rtmp input. have a mixer object at 720p and then start an rtmp output, which by default runs at 640x360

dromer commented 4 years ago

Btw here the full console output for posterity:

bbc-brave_1  |  WARNING: [   output1] GStreamer warning from mux: gst-core-error-quark: GStreamer error: clock problem. (13)
bbc-brave_1  |  WARNING: [   output1] GStreamer warning debug: gstaggregator.c(1780): gst_aggregator_query_latency_unlocked (): /GstPipeline:pipeline1/GstFlvMux:mux:
bbc-brave_1  | Impossible to configure latency: max 0:00:02.000000000 < min 0:00:02.066666667. Add queues or other buffering elements.
bbc-brave_1  |  WARNING: [   output1] GStreamer warning message: GStreamer error: clock problem.

And my configuration:

default_mixer_height: 720
default_mixer_width: 1280
enable_audio: true
enable_video: true
inputs:
- id: 1
  loop: false
  state: PLAYING
  type: uri
  uri: rtmp://studio/streaminput/leftover
  volume: 0.9
mixers:
- height: 720
  id: 1
  pattern: 0
  sources:
  - in_mix: true
    uid: input1
  state: PLAYING
  type: mixer
  width: 1280
outputs:
- height: 720
  id: 1
  source: mixer1
  state: PLAYING
  type: rtmp
  uri: rtmp://studio/stream/leftover
  width: 1280

Problem persists with ubuntu 20.04 as the base.

dromer commented 4 years ago

I played a bit with this fork and so far it seems quite excellent: https://github.com/bitwave-tv/brave (at least 720p seems to work fine)

dromer commented 3 years ago

Has this been fixed?

nikell28 commented 2 years ago

@moschopsuk This problem have decision?

nikell28 commented 2 years ago

@dromer, hello! Were you able to find a solution? Help me please!

dromer commented 2 years ago

use the fork: https://github.com/bitwave-tv/brave

That worked for me.

(I haven't played with this since, so can't help you any more than this)

nikell28 commented 2 years ago

use the fork: https://github.com/bitwave-tv/brave

That worked for me.

(I haven't played with this since, so can't help you any more than this)

I tried to run this fork yesterday It didn't work for me

But this option worked Here in this line: https://github.com/bbc/brave/blob/master/brave/outputs/output.py#L174 Add "queue" like that

return 'interaudiosrc name=interaudiosrc ! audioconvert ! audioresample ! queue ! '