bluenviron / mediamtx

Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.
MIT License
10.71k stars 1.4k forks source link

How does k8s set the port number to be used through environment variables #3346

Closed liuxin638507 closed 1 month ago

liuxin638507 commented 1 month ago

Describe the feature

Description question1: this is docker start demo,How does k8s set the port number to be used through environment variables docker run --rm -it \ -e MTX_PROTOCOLS=tcp \ -e MTX_WEBRTCADDITIONALHOSTS=192.168.x.x \ -p 8554:8554 \ -p 1935:1935 \ -p 8888:8888 \ -p 8889:8889 \ -p 8890:8890/udp \ -p 8189:8189/udp \ bluenviron/mediamtx

The environment variable specifies -e MTX_PROTOCOLS=tcp. Is public network access on port 8189 open for tcp or udp?

question 2:
I mounted it with a modified external profile to /mediamtx.yml error log: CreateContainerError (Error response from daemon: invalid volume specification: '/var/lib/kubelet/pods/5696e68d-3557-40a7-a008-9bcae27ef4e6/volume-subpaths/mediamtx-config/mediamtx/0:/:ro': invalid mount config for type "bind": invalid specification: destination can't be '/'

        - mountPath: /
          name: mediamtx-config
          subPath: mediamtx.yml
      volumes:
      - configMap:
          name: mediamtx-config
        name: mediamtx-config
eravellaSC commented 1 month ago
  1. your first question isn't clear: are you using docker to setup a mediamtx container or are you deploying it directly to kubernetes? You can also modify the mediamtx.yml file instead of using environmental variables, so that the configuration of mediamtx is stored in a single place and is easier to read
  2. I think here it's just a path problem: when you mount something to a container you have to specify two paths, one source and one target path, and here you are giving it just '/' for the target one (paths are separated with :). Seems linke you can't do that.
liuxin638507 commented 1 month ago
  1. your first question isn't clear: are you using docker to setup a mediamtx container or are you deploying it directly to kubernetes? You can also modify the mediamtx.yml file instead of using environmental variables, so that the configuration of mediamtx is stored in a single place and is easier to read
  2. I think here it's just a path problem: when you mount something to a container you have to specify two paths, one source and one target path, and here you are giving it just '/' for the target one (paths are separated with :). Seems linke you can't do that.

thanks i modify the mediamtx.yml file instead of using environmental variables now

  1. i am sorry ,this is ok , - mountPath: /mediamtx.yml
    - mountPath: /mediamtx.yml
    name: mediamtx-config
    subPath: mediamtx.yml
    volumes:
    - configMap:
    name: mediamtx-config
    name: mediamtx-config
aler9 commented 1 month ago

Please use "questions" to ask "questions" instead of "feature request" and ask a question at a time as mentioned in the instructions.