Coder Social home page Coder Social logo

mac-local-rtmp-server's Introduction

Local RTMP Server for macOS

⚠️ Note: Elgato has released a program called "OBS Link" which does the same thing (in a different way). You might want to check that out. However I have noticed the same time lag in that method too.

This is a simple RTMP server for macOS. You can stream videos using the provided RTMP URI and also use the live feed in other applications.

Usage

  1. Download the latest version from the releases page.
  2. Once launched, the app sits in the menubar and runs on localhost (127.0.0.1).
  3. At launch, a randomly generated streaming URI is displayed. The important portion is the rtmp://127.0.0.1/live/ base, and the part afterwards can be anything as long as it's unique.
  4. To send a stream to the RTMP server, specify the rtmp:// URI of your choice, and paste it into the streaming software as a destination. For example, rtmp://127.0.0.1/live/sallar.
  5. To send a stream from another device on the LAN, use Network Utility and specify the IP address of the local machine instead of localhost. For example, if the RTMP's machine's LAN address is 192.168.1.90, specify the destination as rtmp://192.168.1.90/live/sallar from the other device.
  6. As soon as the stream starts, the app's window shows the state of the stream and its live feed URI.
  7. Note: multiple streams are supported! To view them, simply scroll down in the menubar.

Additional

License

This software is released under the MIT License

Thanks to Arash for the design.

mac-local-rtmp-server's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mac-local-rtmp-server's Issues

No Live Streams While ffmpeg is streaming live

image

ffmpeg -f lavfi -i testsrc -s 320x240 -ar 11025 -f flv -r 30.0 "rtmp://localhost"

image

If I close your app, then ffmpeg errors - so I know that ffmpeg is connecting to your app but maybe I'm not specifying the rtmp URL correctly?

Stream drops connection every few minutes on multiple Mac machines

Hello,

I'm trying the latest version of your software with two different Mac laptops, one running Big Sur the other Mojave. I've connected an ATEM Mini Pro ISO--I've tried running it through my regular home network, as well as directly connected to two different machines, using a self-assigned 169. address

Everything works fine for a few minutes but then without fail, the stream gets interrupted for a few seconds. My ATEM "on air" button flashes for a few seconds, and if I have the stream open in VLC, it will stop.

I've also tried using the RMTP server functionality of Livestream Studio, provided by Vimeo, and have a similar problem, so I don't know if the issue is specific to this software, but it's puzzling to me the same thing happens on multiple computers. I only have one ATEM available to test from, but I use it frequently for actual livestreams to Vimeo and it always works just fine.

Any suggestions?

Getting random Unicode characters in stream path once a camera stream connects

Hi Team,
9 times out of 10 i get random extra unicode characters after the address once the client connects: for example rtmp://127.0.0.1/live/B1W2Cbs8XI�: or rtmp://127.0.0.1/live/B1W2Cbs8Xs22
But it should be rtmp://127.0.0.1/live/B1W2Cbs8X according to your examples.
I am also not able to create my own stream key as you can in your example
I can connect to the above using VLC, but other non unicode apps fail to connect - i am running the latest version which i cloned today
any ideas please
Many thanks
Max
screenshot 2018-08-22 17 53 25
screenshot 2018-08-22 17 55 20

Trouble interoperability with Haivision Encoder

Hi,

We are trying to troubleshoot when trying to stream RTMP from a Haivision KB Encoder to the local RTMP server. The icon will blink between connected and disconnected, and the Haivision encoder on the other side reports the RTMP stream being connected / disconnected rapidly.

Is there any logs that I can see from the Local RTMP server to find out why it didn't like the RTMP stream sent from the encoder?

ATEM SOFTWARE ISSUE WITH RTMP

Hi Team, awesome job! But when I try to use the custom RTMP for Atem Software control the local rtmp server don't get the signal.

I try the same thing with gopro 7 and it works. However when I try with the same RTMP url doesn't, but only shows red on notification bar, but the aplication says No live streams currently.

Could you help me?

Awesome project!

New Windows Request

Hello! I saw it was possible to create a windows version, this tool is great! I can’t find any simple way to use a tool like this in windows? Anyway this can be created for windows too?

Doesn't recognize WebRTC RTMP Streams

Hi,

I tried to publish a WebRTC RTMP stream using Agora.io but it doesn't seem to work.
image

When I do try to publish an OBS RTMP stream, it does work.

Not sure if there really isn't any support for WebRTC because I can't seem to find it in the docs / README.

Thanks

Multiple Streams. Scrolling. Change name of Key?

Hi?

From reading the instructions I get the feeling I should be able to edit the name of the key and also create multiple stream servers (by scrolling?) I'm not sure how I do that. I've tried scrolling in the little window, also changing name of the stream does not seem to work, it's locked/ghosted. What am I doing wrong?

image

Regards Björn

Error after streaming for a few minutes

Hey,

First I want to thank you for the program. It is very easy to use!
However, after streaming for a few minutes I get the following error:

imac-van-jesse.home (13:05):
Uncaught Exception:
TypeError: Cannot read property 'readUInt32BE' of null
at NodeRtmpSession.handleData (/Applications/Local RTMP Server.app/Contents/Resources/app.asar/node_modules/node-media-server/node_rtmp_session.js:283:47)
at handleData.next ()
at BufferPool.push (/Applications/Local RTMP Server.app/Contents/Resources/app.asar/node_modules/node-media-server/node_core_bufferpool.js:39:17)
at NodeRtmpSession.onSocketData (/Applications/Local RTMP Server.app/Contents/Resources/app.asar/node_modules/node-media-server/node_rtmp_session.js:129:13)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:594:20)

Then the current streams are stopped.
Is there a solution for this?

Jesse

How to add Facebook Live and Youtube Live stream options?

Hi,

I am new to this. How can I stream OBS output to multiple channels. I mean, OBS gives option for only one channel. I don't find any settings inside your App. I am using macOS 10.14.6 with OBS 25. Kindly suggest where can I change settings to add options for multiple destinations.

Regards,
JBeuria
image

DJI Osmo Action RTMP error

Configured the RTMP url settings exactly like a Go Pro in the DJI Mimo app, it connects to the RTMP server for a second but instantly stops.

Terminal log shows the following: [ERROR] Chunk reference error for type 2: previous chunk for id 33 is not found

Tested streaming from Streamlabs from an iPhone with the same settings without any issues.

With many cameras connected, the UI display has trouble on MacOS

rtmp server with 6 cameras UI problem
I tried dragging the corner of the UI down to see all the cameras at once, but the UI refused to go below a certain point, and the background did not expand to the new size. Macos 10.15.7.

Once this happened, I couldn't get the UI to reset to original or change it.

Not Working with LadioCast

Trying this out with Ladio cast. I think I'm following the instructions properly but I get no connection, see the attached screengrab.

Screenshot 2021-09-20 at 15 38 34

I can't see anything in the logs to suggest a firewall issue and its localhost anyway.

Stream Status Incorrect on Catlina 10.15.6

Great app! I love the simplicity in this powerful little utility. Just a heads up, I found a strange behavior on 10.15.6 Catalina:

Screen Shot 2020-08-31 at 8 47 20 PM

The app menu icon turns red indicating that it is connected to a stream, but the status message says "no live streams currently." Despite this message, I still managed to get a stream going into OBS by manually typing the url based on the help wiki. This behavior threw me off since your wiki shows a different view that is supposed to appear when a connection is established. I almost gave up until I decided to try the rtmp URI in spite of the unchaged connection message.

Either way, thanks for putting this app together, I was able to stream my phone to obs really well!

Local RTMP Port used

Hey guys ! Just wondering to know if there is anyway to stream from somewhere else via internet to this server ? if yes, which port it will use ?

Thx guys

Big Sur cannot launch app

The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10826 "kLSNoLaunchPermissionErr: User doesn't have permission to launch the app (managed networks)" UserInfo={_LSFunction=_LSLaunchWithRunningboard, _LSLine=2508, NSUnderlyingError=0x7fd11d0072f0 {Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x7fd11d008e40 {Error Domain=NSPOSIXErrorDomain Code=111 "Unknown error: 111" UserInfo={NSLocalizedDescription=Launchd job spawn failed with error: 111}}}}}

Windows version?

Is it possible to get a windows port? The code looks to me like just javascript. That should work on windows aswell right? I could not find a good solution for windows like this one. I would be very happy if you could make a version for windows!

Big Sur issues

The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10826 "kLSNoLaunchPermissionErr: User doesn't have permission to launch the app (managed networks)" UserInfo={_LSFunction=_LSLaunchWithRunningboard, _LSLine=2508, NSUnderlyingError=0x7fd11d0072f0 {Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x7fd11d008e40 {Error Domain=NSPOSIXErrorDomain Code=111 "Unknown error: 111" UserInfo={NSLocalizedDescription=Launchd job spawn failed with error: 111}}}}}

Also I get this error form time to time:
Local RTMP Server.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework: file too short

Unexpected lag and server behavior

@sallar Thank you for coding this elegant, simple, and valuable tool for RTMP streaming support.

I'm an independent broadcaster and your Local RTMP Server is great for resolving an issue I've been having with getting live content from folks out in the street in to my OBS so that I can use it in live broadcast. I've been testing it with the USB Camera Pro app on Android and also by sending test streams from my laptop on my network and on other networks to the server, and I can make the connection in to the server reliably and consistently.

Here are the only two issues I've found:
It seems to "pause" and buffer the input playback when no streaming clients are connected, and there must be an input stream started before a client connects, or it won't work.

To explain it a little better:
Start an RTMP stream from a laptop and send it to the computer running this app, then wait a minute or so, and start an OBS scene that is pulling the RTMP from the localhost address... what you'll see is what was streamed to the machine a minute or two ago. The only way to avoid a huge delay is to start the scene pulling the RTMP as soon as you can visually see the menu bar icon go active.

Expected behavior here is that no matter how many clients are connected the outbound stream would be as little lag behind the inbound stream as possible.

To explain the second problem:
Open a scene in OBS that is set up already to pull a scene from the local host with the correct info, then go to the Laptop and start an RTMP stream... the streaming server indicates it is receiving the stream but the stream never indicates it has a client connected and it never shows the video to the existing local client.

Expected behavior here is that no matter when a client joins the server, the server would connect the inbound stream with the client whenever it came live no matter what.

Please get in touch about these issues, and if there's anything I can do to help get them resolved. Thank You!

Suggestion Bit Rate

Hey sallar, this app is useful from just a couple of usage. Although, I don't see any configuration/option window to either increase or decrease the bit rate of the recording. I think their should be an option to set the bit rate globally or per device maybe. Basically giving the option to stream with a MB or 4MB or more. I believe this would help stabilize the stream. I also notice that the UI when their is multiple device recording that the overlay drops.

Server won't accept rtmp-stream of Gopro Hero 8

I am running the server on macOS 10.15.4.
It works properly with several sources. But it won't run with my GoPro Hero 8. I tried it with 720p and 1080p.
The Server shows the red camera symbol but I don't get the stream output.

Not Recognizing Input

Hi,
The rtmp server won't recognize any rmtp input. I am streaming from my iPhone and the application will not recognize any input, even though I am sure I have tried every format possible. I am on the dmg file

Multiple stream support

This is a really cool app! Thanks for sharing this.

Are multiple streams possible? I was wondering if I'd be able to ingest multiple cameras.

Install using brew cask

You've made such a simple and great solution. I install and use it with git clone/npm install with no issues. And I see now there are compiled downloadable packages, which it a nice improvement. But even better would be to install with:

brew cask install mac-local-rtmp-server

Cannot start stream in Elgato

I have setup the RTMP server in Elgato but when try to start the stream, nothing happens. I press the stream button but nothing happens

How to specify a streaming key? Possible?

Love your work! Your instructions imply it is possible to specify a streaming key instead of using the randomly generated key. How do I do this?

Also- I also wish for a Windows implementation. Would pay!

Thanks, Sallar.

Stream periodically gets stuck

Thanks for the app. To explain my set up: I am streaming from my mobile device to a Mac(10.15) through a local wireless network, the stream is accessed by VLC network playback.

I tried three bitrate configurations (1, 2, 4Mbps) from the stream source, but the stream will permanently get stuck on VLS playback every 100-115 seconds. The stream quality, latency and status display are all normal.

I was suspecting a different transcoding method would work better for my setup, but I can not get your git repo to work since the panel wouldn't display anything and would not ingest any stream after running npm start. I even tried to modify streamKey in stream.ejs to make sure the stream source had the right rtmp address.

LiveU Solo issues

Hi there. Trying to connect LiveU Solo with Local RTMP Server on a Mac. It works in wifi mode, but not when LRT mode is turned on. Any ideas on this or has anyone experienced anything similar? Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.