restreamer: Unable to work at all

Hello,

Thank you very much for your work, I can’t wait to be able to use it.

My issue in a few words

  • I start restreamer from the docker container,
  • I go to localhost:8080
  • and when I try and stream to YouTube, it just simply won’t work at all.

Details about the test I ran

I run restreamer as a docker-compose :

version: '3.7'

# Settings and configurations that are common for all containers
x-restream-common: &restream-common
  image: datarhei/restreamer:0.6.8
  # command: server --console-address ":9001" http://minio{1...4}/data{1...2}
  expose:
    - "8080"
    # I ran a netstat -tulpn intocontainers to
    # check which network ports were used, and
    # tested exposing those
    # ---> it just does not hel at all to expose those, it's
    #      just spaghetti networking inside the container, between
    #      the software components and throguh container internal NGINX 

    # - "3000"
    # - "1935"
  ports:
    - "8080:8080"
    # I ran a netstat -tulpn intocontainers to
    # check which network ports were used, and
    # tested exposing those
    # ---> it just does not hel at all to expose those, it's
    #      just spaghetti networking inside the container, between
    #      the software components and throguh container internal NGINX 

    # - "3000:3000"
    # - "1935:1935"
  restart: always
  environment:
    RS_USERNAME: $RS_USERNAME
    RS_PASSWORD: $RS_PASSWORD
    RS_DEBUG: true
  # healthcheck:
    # test: ["CMD", "curl", "-f", "http://localhost:8080/"]
    # interval: 30s
    # timeout: 20s
    # retries: 3


services:
  restreamer:
    <<: *restream-common
    # hostname: restreamer.pokus.io
    volumes:
      - restreamer_data1-1:/restreamer/db

## This config uses default local driver,
## For custom volumes replace with volume driver configuration.
volumes:
  restreamer_data1-1:
    driver: local

I use the url rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s (I fill in both the web page at http://localhost:8080 ), I get :

  • In Webui an error message in a red striped box, stating :

"Your stream wasn’t accessible. rtmp://localhost:1935/hls/live.stream: Operation not permitted "

  • The following error logs :
connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s" in 6000ms
restream-restreamer-1  | [09-12-2021 06:03:42.828] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s"
restream-restreamer-1  | [09-12-2021 06:03:42.828] [INFO ] [repeatToOptionalOutput] Start streaming
restream-restreamer-1  | [09-12-2021 06:03:42.840] [ERROR] [                 NGINX] :1935
restream-restreamer-1  | [09-12-2021 06:03:42.842] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s" in 6000ms
restream-restreamer-1  | [09-12-2021 06:03:48.809] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s"
restream-restreamer-1  | [09-12-2021 06:03:48.809] [INFO ] [repeatToOptionalOutput] Start streaming
restream-restreamer-1  | [09-12-2021 06:03:48.821] [ERROR] [                 NGINX] :1935
restream-restreamer-1  | [09-12-2021 06:03:48.823] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s" in 6000ms
restream-restreamer-1  | [09-12-2021 06:03:54.831] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s"
restream-restreamer-1  | [09-12-2021 06:03:54.832] [INFO ] [repeatToOptionalOutput] Start streaming
restream-restreamer-1  | [09-12-2021 06:03:54.844] [ERROR] [                 NGINX] :1935
restream-restreamer-1  | [09-12-2021 06:03:54.847] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s" in 6000ms
restream-restreamer-1  | [09-12-2021 06:03:56.419] [INFO ] [repeatToOptionalOutput] Stop streaming
restream-restreamer-1  | [09-12-2021 06:04:00.853] [INFO ] [repeatToOptionalOutput] Retry to connect to "rtmp://a.rtmp.youtube.com/live2/ue03-gu47-v24y-xxjh-3c5s"

My only guess as of today : RTMP is a 2 way TCP connection, so i need a public IP, Am I Right ? If so, i think it woud be worth mentioning it somewhere, like in the install instructions and/or the YouTube howtos.

I so hope I will have help from anyone, there are people who created issues 15 days ago who state they can successfully stream to YouTube (so i guess I have just a basic error somewhere… So frustrating…)

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (2 by maintainers)

Most upvoted comments

Hey @Jean-Baptiste-Lasselle Your ideas sound very interesting and if you need help, get in touch.

BTW: Have a look at our backend: https://github.com/datarhei/core

With that, a lot should already be possible.

  • PRs

Thank you for your answer! I will test v2 as soon as possible, to try the new features (multi tnenancy , helm chart with auto scalability …), I ll give some feed back asap!

HI @civita thank you so much for this new answer from you, and I also want to say thank you so much to all of other community members answering here, it is so supportive.

@civita you indeed perfectly described and understood what i was trying to do on my mac book.

I will give you further informations on my work with restreamer, i want to give a hint on what my long run goal is :

  • I am sure you all know streamyard or https://restream.io
  • There today exists zero open source project, where you run terraform, and you end up witrh something similar to https://restream.io . And this makes all citizens dependent on what a few private companies may be doomed to do, (i let your imagination play here).
  • I value your community’s work, because it’s active, and it is very important to citizens : without this, they cannot be free to broadcast to other fellow citizens, and their communications across the internet are doomed to censorship.

And since the community is so awesome, I decide now i will work on making what is necessary :

  • so that you run terraform, and you end up with something similar to https://restream.io
  • this means there are very important features that are required :
    • auto scaling :
      • we need a helm chart, (I am sure it wil need at least a few PRs),
      • and after that we need a kubernetes operator. I will focus on those 3 features . This will certainly make me work on Restream 's CICD
      • the terraform must work against at least 3 cloud providers from USA, China, and Russia (all 3 mandatory), and last but most important of all : the terraform must work against a 100% open source cloud provider like OpenStack. Kubernetes, the CNI and CSI plugins must be built from source. I think of another Cloud provider I am working on, which will allow to launch a kubernetes cluster on fleet of mobile phones, all wifi connected to 4G/5G router.
    • multi-tenancy : that i will be interested, but i think important that the auto scaling feature comes first. restreamer needs to get “Kubernetes Native”, before a major feature, like multi tenancy. Plus I think if we have a one tenant only SAAS platform, it will just as well make the citizen free (on worst case each citizen will run its own one tenant only). Never the less, we will need multi tenancy at some point, for example for the citiznes to share price of paying the infrastructure below there (the AWS or alibaba.com cloud bill).

So ok, plan :

  • first finish testing a setup up to use restreamer from my laptop just like described by @civita
  • then i will respawn the entire cicd : that will begin by git cloning all https://github.com/datarhei/restreamer repository, into a new github org of mine.
  • then i will finish work on CICD, by creating a new Circle CI Orb (and the equivalent of an Orb in Drone CI), that will automate helm chart deployment
  • this is where i will start work on Helm Chart

Thank you so much all for your support, all your mesages, and all the work done until today!

Hi there check this: https://support.google.com/youtube/answer/3006768?hl=en&ref_topic=9257985

i think its not permitted to push empty frames, or incorrect configuration