media-server | A brpc-based server to host and proxy live streams | Video Utils library

 by   brpc C++ Version: Current License: Apache-2.0

kandi X-RAY | media-server Summary

kandi X-RAY | media-server Summary

media-server is a C++ library typically used in Video, Video Utils applications. media-server has no bugs, it has a Permissive License and it has low support. However media-server has 1 vulnerabilities. You can download it from GitHub.

A brpc-based server to host and proxy live streams
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              media-server has a low active ecosystem.
              It has 183 star(s) with 56 fork(s). There are 22 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 1 open issues and 3 have been closed. On average issues are closed in 41 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of media-server is current.

            kandi-Quality Quality

              media-server has no bugs reported.

            kandi-Security Security

              media-server has 1 vulnerability issues reported (0 critical, 0 high, 1 medium, 0 low).

            kandi-License License

              media-server is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              media-server releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of media-server
            Get all kandi verified functions for this library.

            media-server Key Features

            No Key Features are available at this moment for media-server.

            media-server Examples and Code Snippets

            No Code Snippets are available at this moment for media-server.

            Community Discussions

            QUESTION

            How to reduce the log size in Ant Media Server?
            Asked 2021-May-11 at 12:58

            In general, everything is fine, but the log is stacking a lot at "ant-media-server.log"

            2021-05-08 12:14:08,756 [Thread-89] INFO i.a.streamsource.StreamFetcher - last dts4156022956 is bigger than incoming dts 4236715763 2021-05-08 12:14:08,756 [Thread-89] INFO i.a.streamsource.StreamFetcher - dts (4236715764) is bigger than pts(4156022956)

            A few hundred megabytes even in a moment How can I solve this?

            ...

            ANSWER

            Answered 2021-May-11 at 12:58

            There are several ways for doing that.

            1. Change the log level to WARN in web panel and click the Save button
            1. If you want to keep the log level in INFO but you still don't want to have these logs, then please open to conf/logback.xml and add following line before ```

              The file should look like something below

            Source https://stackoverflow.com/questions/67483155

            QUESTION

            Nginx setup for Node Media Server
            Asked 2021-Apr-16 at 15:57

            I'm trying to run node-media-server on a EC2 instance, but i a'm not able to make OBS to connect to the server, here is my Nginx config:

            ...

            ANSWER

            Answered 2021-Apr-16 at 15:57

            I found the problem, the first thing is to setup Nginx to listen on the port 80 only as node-media-server takes care of listening on the ports 8000 and 1935

            Source https://stackoverflow.com/questions/67066361

            QUESTION

            Current support status of WebRTC in Codename One and AntMedia usage
            Asked 2021-Jan-13 at 17:04

            Is there any information, updates, or documentation regarding Codename One's WebRTC support? There was a mention of it months ago in this comment on Stack Overflow (AntMedia Native Interface issues), but then I haven't heard anything more about it.

            For the time being, I'm supporting live streaming on AntMedia via native interfaces that do live streaming with RMTP, as on my own I couldn't find a way to support WebRTC in Codename One. Unfortunately I realized just today that the RMTP support on Android doesn't work anymore (I don't know why, in the past months it worked)... anyway I've always considered RMTP as a temporary workaround, maybe this trouble is a good opportunity to switch to WebRTC.

            I've seen that Steve has quietly created this cn1lib, which has not been announced (maybe because the work is not yet finished?) nor is it present among the extensions that can be installed via Codename One's Control Center: https://github.com/shannah/CN1WebRTC

            I found the documentation here: https://shannah.github.io/CN1WebRTC/javadoc/ but comparing this javadoc with the documentation provided by AntMedia I just don't understand what I have to do, as AntMedia provides its own SDKs for Android and iOS, provides documentation to use them, but I don't understand how I can use in their place the cn1lib made by Steve. Obviously porting their SDKs is not easy, otherwise I would have already done it as the first option. In any case, the AntMedia server should be independent from the SDKs used, as it should use standard protocols, if I understand correctly.

            Specifically, I have a server running AntMedia Enterprise Edition 2.1.0, whose documentation on WebRTC support is here: https://github.com/ant-media/Ant-Media-Server/wiki

            Thank you

            ...

            ANSWER

            Answered 2021-Jan-13 at 17:04

            I haven't used AntMedia Server, so my following comment is based on 10 minutes looking through their documentation.

            It looks like they provide their own API that is distinct from the standard WebRTC APIs. The Codename One WebRTC lib is built on the standard WebRTC APIs. I think that the best route, if you want to use AntMediaServer's APIs is to create native interface wrappers for it.

            It is also possible and likely that you can just use the Ant Media Server and then use the standard WebRTC API to connect to it. If this is the case, then you would be able to use the cn1lib with it. However, their documentation only seems to show how to use their custom API for the client.

            Source https://stackoverflow.com/questions/65698741

            QUESTION

            One-time play tokens are not being authorized
            Asked 2020-Dec-02 at 20:45

            I have been coming across an issue with Ant Media not authorizing my one-time play tokens. I am on the latest version, am on enterprise edition and have turned on one-time tokens for play in settings of my live app.

            I am following the docs at https://github.com/ant-media/Ant-Media-Server/wiki/Stream-Security-Documentation.

            1. Send a get request (using postman) using the recommended scenario format: https://[IP_Address]:5443//rest/v2/broadcasts//token?expireDate=&type=play

            2. Copy tokenId from the response and insert it into format I wish to play (I've tried HLS and WebRTC): https://[IP_Address]//play.html?name=streamID&playOrder=hls&token=tokenId

            3. Then I get 403 Invalid token or cannot play media message with HLS.

            Am I missing something in the current steps I'm taking? I am following the docs step by step, if I am missing something can someone inform me?

            Thanks, Nathan.

            ...

            ANSWER

            Answered 2020-Dec-02 at 20:45

            Could you please make sure your expire date and application names are correct? You can check your current timestamp on this page -> https://www.epochconverter.com/

            Source https://stackoverflow.com/questions/65113467

            QUESTION

            Server does not send new stream via websocket after new release
            Asked 2020-Nov-13 at 15:02

            We had set a new server with the last release

            The issue is that when a user publish a stream video and that another one connects to room, the server sends streams via websocket to all new comer via the streams array sent with joinedTheRoom message. But when new comer join the room and start publishing, all the users that already are in the room does not receive the streamJoined message.

            When looking at the server graphic interface, all streams are well published on the server, but it does not send the info via websocket. When logging all the received info from ws, we only receive joinedTheRoom, initialized and pings.

            We used to have another server with the release 2.1.0, and we did not have such issues. We tried to see what have changed is the last release but most of the issues are empty. Can you see what went wrong with our server ? Do we need an updated version of Javascript SDK (if so, where can i find it ?) ?

            ...

            ANSWER

            Answered 2020-Nov-13 at 15:02

            As you guessed, streamJoined has removed. You can check here for further details. Current implementation relies on client is getting room information from server every 5 second intervals. So you need to change implementation from streamJoined to getroominfo. You can check here for new implementation of conference sample and i suggest you to look here for updated Javascript SDK. I guess if you look at new conference sample you can get it done.

            Source https://stackoverflow.com/questions/64749665

            QUESTION

            How to stream text and video at the same time?
            Asked 2020-Oct-27 at 12:57

            I have node.js server that uses node-media-server:

            ...

            ANSWER

            Answered 2020-Oct-27 at 12:57

            You can add text to a video in a number of ways - most common are probably:

            • Add a text track to the video container, i.e. the MP4 file. This is usually done server side and the client then uses this info to display it client side. You can see more info here and an example with a commonly used tool: https://www.bento4.com/developers/dash/subtitles/

            • Embed the text in the frames themselves - this requires more processing and also adds the text to the video frames themselves, so you can't turn text on and off at the client easily. If you do want to do this then FFMPEG is probably a good place to start.

            • Add a text overlay on the client itself - e.g. a text 'div' or element on a browser App, or a TextView on Android etc. You mention that synchronisation may be a problem, but you could take timing events from the video to trigger changing the text. This avoids you having to do any extra processing on the video or video container.

            A simple example of using timing to trigger text is below - you would likely want to update it to avoid checking everything on each 'onTimeUpdate' event, and maybe to put the text over the video itself, but this give an example how the basic mechanism works:

            Source https://stackoverflow.com/questions/64535985

            QUESTION

            How to combine certificate with key and output pem file?
            Asked 2020-Aug-13 at 03:47

            I have configured kurento media server, but for the SSL part it requires to have cert+key in pem format and also password. The issue is i have

            ...

            ANSWER

            Answered 2020-Aug-13 at 03:47

            QUESTION

            rtmp nodejs server config on NGINX _ nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
            Asked 2020-Aug-11 at 09:23

            I have media server running on port 1935 .

            and I have a subdomain: "streaming.foo.com"

            I need to configure Nginx to access rtmp://streaming.foo.com

            I tried the RTMP Nginx plugin with this blog :

            https://www.nginx.com/blog/video-streaming-for-remote-learning-with-nginx/

            and configured the /etc/nginx/nginx.conf file.

            ...

            ANSWER

            Answered 2020-Aug-10 at 12:41

            You can't have two services listening on the same port.

            The common solution is to configure the real service (your media service) on another port (let's say 19350) than configure a reverse proxy on nginix to forward requests from the exposed port (1935 in this case) to the back-end service (19350 in our example).

            Sorry but I don't know nginix (I use this config with apache) so I can't help you on how to configure a reverse proxy on it.

            Source https://stackoverflow.com/questions/63266253

            QUESTION

            AntMedia Native Interface issues
            Asked 2020-Jul-06 at 02:02

            I would like to implement this AntMedia iOS and Android native interface for Codename One:

            ...

            ANSWER

            Answered 2020-Jul-06 at 02:02

            When you use the Generate Native Interface tool in the IDE it generates matching native code. That code generates native OS methods for each operating system e.g. in the case of Android the createPeer method will return a View.

            So for this case you would need to create an instance of org.webrtc.SurfaceViewRenderer and store it in the class (for followup calls of init) then return that from the createPeer method.

            Source https://stackoverflow.com/questions/62738263

            QUESTION

            Kubernetes LoadBalancer: open a wide range (thousands) of port
            Asked 2020-Apr-14 at 13:38

            I'm trying to set up a cluster (GKE, but I can change to other providers if necessary) of AntMedia Server.

            According to the doc 1, the server needs to be accessible from outside with a wide range of port, basically all the UDP ports: UDP:5000-65000 (WebRTC)

            I tried to declare all the ports in a LoadBalancer service but GKE seems to allow a maximum of 100 ports per service.

            What can I do to expose this range of port to the outside world?

            ...

            ANSWER

            Answered 2020-Apr-12 at 16:22

            WebRTC software isn't intended to be used behind load balancers usually. You may use public VM instances and application level load balancing instead of cloud load balancing.

            Possible really expensive workaround is to create a lot of LoadBalancer services with the same IP:

            Source https://stackoverflow.com/questions/61140228

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install media-server

            Supported operating system: Linux, MacOSX. Then you can push/play stream from it.
            Install brpc which is the main dependency of media-server
            Compile media-server with cmake:
            Run media-server as origin server with minimum configuration(the default port is 8079):

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/brpc/media-server.git

          • CLI

            gh repo clone brpc/media-server

          • sshUrl

            git@github.com:brpc/media-server.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link