AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://OvenMediaEngine.com/ome
GNU Affero General Public License v3.0
2.53k stars 1.06k forks source link

the following errors occurred in the installation #10

Closed yoyomule closed 5 years ago

yoyomule commented 5 years ago

Hello, the following errors occurred in the installation, please advise. ####################################################

AirenSoft Make System v0.62

####################################################

[ 1/151| 0%] Preparing directories... [ 2/151| 1%] [static] libovlibrary.a: C++ projects/base/ovlibrary/error.cpp => intermediates/DEBUG/objs/base/ovlibrary/error.o **projects/base/ovlibrary/error.cpp:10:10: fatal error: srt/srt.h: No such file or directory

include <srt/srt.h>

      ^~~~~~~~~~~

compilation terminated. core/build_objects.mk:18: recipe for target 'intermediates/DEBUG/objs/base/ovlibrary/error.o' failed make: * [intermediates/DEBUG/objs/base/ovlibrary/error.o] Error 1

sfreet commented 5 years ago

Thank you for reporting this error. We updated source code on December 18th. A library dependency has been added, but the README file has not been updated yet. We will update the README file within a few days. To solve the problem you mentioned First, Go to https://github.com/Haivision/srt and install the srt library. (you should run make install and ldconfig after make)

yoyomule commented 5 years ago

image image image Hello, after solving the above problems, there are still some problems in the deployment process. Look forward to more detailed documentation.

dimiden commented 5 years ago

After checking the attached logs, I see two problems. I hope you can solve the problem with the following information.

  1. TLS setup issue

Signalling between the browser and OME is done via WebSocket, so if you want to play a stream on an HTTPS page like OvenPlayer Demo, you must use an encrypted WebSocket called WSS. If you are testing on an HTTP page rather than HTTPS, skip to step 2.

To configure TLS, you must have a domain owned by you and a TLS certificate associated with that domain. TLS certificate can be issued from various Certificate Authorities. Here, I will assume that you have already been issued. The issued certificate file can be divided into cert file and private key file. You can add these files to <WebRTC>-<Signalling>-<TLS> element in Server.xml.

<WebRTC>
        ...
    <Signalling>
        <TLS>
            <!-- certification file path for TLS servers -->
            <CertPath>/path/to/crt_file/cert_file_name.crt</CertPath>
            <!-- private key file path for TLS servers -->
            <KeyPath>/path/to/key_file/private_key_file_name.key</KeyPath>
        </TLS>
        <Port>3333</Port>
    </Signalling>
</WebRTC>

As the SRT and TLS functions have recently been released, the related content has not yet been applied to the README, and I'm really sorry to hear about this inconvenience.

  1. The 1935 port is already in use

It seems that your server is already using the 1935 port. The 1935 port is very important because it is the port used to receive the RTMP input from Encoder such as OBS. If you still get a "Could not bind to [v4] 0.0.0.0:1935" error, you can terminate the process using the 1935 port or change the RTMP port by referring to the following.

<Providers>
    <RTMP>
        <MaxConnection>10</MaxConnection>
        <!-- Please change this port number to another number. And do not forget to set it on OBS. -->
        <Port>1935</Port>
    </RTMP>
</Providers>
yoyomule commented 5 years ago

Thank you, the port problem has been solved, but it seems to be a problem. image image image

dimiden commented 5 years ago
  1. Make sure that you are streaming to OME using a broadcast tool such as OBS.
  2. In the OBS Settings - Stream tab, make sure that the Stream Type is set to Custom Streaming Server and the URL is rtmp://148.70.104.177/live and the stream key is 123 (_o is a suffix that is required only when playing in a web browser).
  3. IP in Publishers is used to send ICE candidate information. If you enter 127.0.0.1, your browser will try to connect to 127.0.0.1. So if OME and web browser are running on different machines, you have to enter the actual server IP. (According to the attached screenshot, set it to 148.70.104.177)