monasolutions / monaserver2 Goto Github PK
View Code? Open in Web Editor NEWTemporary project planned to replace MonaServer
License: GNU General Public License v3.0
Temporary project planned to replace MonaServer
License: GNU General Public License v3.0
Hello,
Thank you for this immensely useful software.
I've successfully been using MonaServer and SRT for a while, but without encryption. In my setup, OBS publishes a stream to MonaServer, and VLC or mpv/ffmpeg receives an SRT publication of that stream to play it back.
However, now I want to set up encryption and I'm having trouble.
My configuration looks like this:
[SRT=true]
; socket bind
port=9710
host=127.0.0.1
publicPort=9710
publicHost=127.0.0.1
; socket parameters, if not set use [net] parameters (see above in CATEGORIZED)
bufferSize=65536
recvBufferSize=65536
sendBufferSize=65536
; SRTO_TLPKTDROP, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
pktdrop=true
; SRTO_PBKEYLEN, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
encryption=0
; SRTO_PASSPHRASE, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
passphrase="publish_passphrase"
; SRTO_RCVLATENCY, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
latency=120
; SRTO_PEERLATENCY, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
peerlatency=0
; SRTO_MSS, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
mss=1500
; SRTO_OHEADBW, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
overheadbw=25
; SRTO_MAXBW, see https://github.com/Haivision/srt/blob/master/docs/API.md#options
maxbw=-1
[RTMFP=false]
[RTMP=false]
[HTTPS=false]
[WS=false]
[WSS=false]
[live=publication]
passphrase="publication_passphrase"
OUT srt://0.0.0.0:5678
Encryption works for receiving the stream from OBS on port 9710 by configuring OBS to stream to srt://127.0.0.1:9710/?streamid=#!::r=live,m=publish&passphrase=publish_passphrase
. Without including the passphrase
option in the URL, the connection is rejected as intended.
The publication is created, but it doesn't seem to use encryption. I can successfully connect and play the stream with mpv like mpv srt://localhost:5678
. No passphrase option is required.
How can I enable and enforce encryption on SRT publications?
edit:
I also tried the following:
[live=publication]
OUT srt://0.0.0.0:5678?passphrase=publication_passphrase
This doesn't work either; mpv can still play it back without providing a passphrase.
I've used MonaTiny before as a very well designed and the simplest RTSP server I've found yet.
Yet on www.monaserver.ovh, RTSP isn't listed as a supported protocol? Is that because only MonaServer2 supports RTSP and it's still in Beta?
We are strongly considering buying a license but want to make sure that RTSP support is actually production ready.. what do we need to worry about?
Subscription.cpp[460] Video timeout, insufficient bandwidth to play testfeed2
I am attempting to play an approx 7000-10000 kbps RTMP video stream using MonaTiny 1.195 smoothly via a VLC Video Source in OBS. The RTMP server is running on the same server as OBS (which is accessing the stream via VLC Video Source) so it is being accessed via localhost. I already have bufferSize=4096000 in the INI file. We are receiving our video via a third-party stream that is publishing from their servers to MonaTiny via RTMP. This issue does not occur when they send their third-party stream directly to our livestreaming provider.
Lowering the video bitrate to <4000-5000 kbps as well as using a 30fps source instead of a 60fps will fix the issue. However this is unacceptable as this degrades our video quality. What would cause this error to occur? Could the built-in Port Scanning Prevention Filter be resetting the TCP connection? (This is running on Windows Server 2016.) I've noticed a slight improvement turning off Stealth Mode for the Windows Firewall, but I still have choppy video issues with my source in my OBS stream.
We do not have any CPU/RAM/resource issues on our target server running MonaTiny and OBS. Both source and target servers have >100Mbps bandwidth, with <60ms ping, and minimal hops between the two servers. Speedtest.net routinely shows >500Mbps connection for both hosts for both upload and download. MonaTiny is also only being used for this video stream, so there isn't much contention for resources.
System :
Ryzen 1700x
16gb RAM
1080ti
Windows 10
Hardwire LAN / 250mbps down / 20 up
Used standard issue x64 build ( I did not build my own from git )
Use :
8 OBS rtmp feeds incoming from 8 different pcs around the nation pointed towards my MonaServer2 - which I then pull those in as VLC inputs to my own instance of OBS and do POV mixing/production
History : This has worked flawlessly in the past ( 9 months ago ) - with zero errors in the console
Problem : Used it this weekend for an event - had multiple instances of the following errors
congested session
insufficient video bandwidth
which obviously caused signal drop into OBS - but also caused my stream to another MonaServer to go to 0kbps. for 10-15 seconds while it settled back in and then it was back to business - this would happen once every 15-20 minutes which was really a downer.
I tested this again on a windows server 2008 box and another win10 as well. Same issues.
Any help is appreciated. I never took the time to build my own, due to the standard issue not having any issues 9 months ago. ( good enough for my needs at the time )
I have problems when compiling MonaServer2 on Windows .The compiler can't find Mona/Group.h,Mona/NetStats.h,Mona/MedaiContainer.h and other files
Please use CMake so that the future dependencies will be handled by either vcpkg on Windows for Visual Studio solutions, or equivalent on MacOS and Linux.
If we start to add agnostic language VMs then this will become a hell for dependency management.
Hopefully at this moment there are only 2 dependencies:
Let's not make this a bad habit to include depencies in source code.
CMake UI is what I use on Windows and it generates all VS solutions in a second.
I hope this helps.
Greeting again!
I hope that what I have found on this repo https://github.com/zlmediakit/ZLMediaKit might have interesting part that your team can integrate in MonaServer without having to recode the whole thing from scratch.
Have a good day!
Sorry, I have a question, not an issue.
If I broadcast using MS2 from OBS and I set the stream to, for example, 2mbps, and 10 people stream it, will they all use the 2mbps or do they all get 2mbps each using up my full upload bandwidth of 20mbps?
Thanks
In file included from sources/Subscription.cpp:19:
In file included from ./include/Mona/Subscription.h:22:
In file included from ./../MonaBase/include/Mona/Congestion.h:21:
In file included from ./../MonaBase/include/Mona/Net.h:20:
In file included from ./../MonaBase/include/Mona/Exceptions.h:20:
./../MonaBase/include/Mona/String.h:255:10: error: call to 'Append' is ambiguous
return Append((OutType&)out.append(value, size ...
^~~~~~~~~~~~~~~
./../MonaBase/include/Mona/String.h:368:10: note: in instantiation of function
template specialization 'Mona::String::Append<Mona::String, const char, 3,
Mona::Media::Video::Frame &, char const (&)[2]>' requested here
return Append((OutType&)out.append(buffer,strle...
^
./../MonaBase/include/Mona/String.h:255:10: note: in instantiation of function
template specialization 'Mona::String::Append<Mona::String, char const
(&)[3], Mona::Media::Video::Frame &, char const (&)[2]>' requested here
return Append((OutType&)out.append(value, size ...
^
./../MonaBase/include/Mona/String.h:368:10: note: in instantiation of function
template specialization 'Mona::String::Append<Mona::String, const char, 3,
unsigned int &, char const (&)[3], Mona::Media::Video::Frame &, char const
(&)[2]>' requested here
return Append((OutType&)out.append(buffer,strle...
^
./../MonaBase/include/Mona/String.h:255:10: note: in instantiation of function
template specialization 'Mona::String::Append<Mona::String, char const
(&)[3], unsigned int &, char const (&)[3], Mona::Media::Video::Frame &,
char const (&)[2]>' requested here
return Append((OutType&)out.append(value, size ...
^
./../MonaBase/include/Mona/String.h:240:10: note: in instantiation of function
template specialization 'Mona::String::Append<Mona::String, const char,
14, const unsigned int &, char const (&)[3], unsigned int &, char const
(&)[3], Mona::Media::Video::Frame &, char const (&)[2]>' requested here
return Append((OutType&)out.append(value.data()...
^
./../MonaBase/include/Mona/String.h:234:10: note: in instantiation of function
template specialization 'Mona::String::Append<Mona::String, char const
(&)[14], const unsigned int &, char const (&)[3], unsigned int &, char
const (&)[3], Mona::Media::Video::Frame &, char const (&)[2]>' requested
here
return Append(out, std::forward(args)...);
^
./../MonaBase/include/Mona/Logs.h:82:11: note: in instantiation of function
template specialization 'Mona::String::Assign<Mona::String, const
std::__1::basic_string &, char const (&)[14], const unsigned int &,
char const (&)[3], unsigned int &, char const (&)[3],
Mona::Media::Video::Frame &, char const (&)[2]>' requested here
String::Assign(Message, std::forward(args)...);
^
sources/Subscription.cpp:542:3: note: in instantiation of function template
specialization 'Mona::Logs::Log<const std::__1::basic_string &, char
const (&)[14], const unsigned int &, char const (&)[3], unsigned int &,
char const (&)[3], Mona::Media::Video::Frame &, char const (&)[2]>'
requested here
TRACE(pPublication->name(), " video time, ", tag.time, "...
^
./../MonaBase/include/Mona/Logs.h:193:20: note: expanded from macro 'TRACE'
#define TRACE(...) LOG(Mona::LOG_TRACE, VA_ARGS)
^
./../MonaBase/include/Mona/Logs.h:184:78: note: expanded from macro 'LOG'
......) { if(Mona::Logs::GetLevel()>=(LEVEL)) { Mona::Logs::Log((LEVEL), _...
^
./../MonaBase/include/Mona/String.h:333:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, int value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:349:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, unsigned char value, Args&&...
^
./../MonaBase/include/Mona/String.h:311:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, char value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:317:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, signed char value, Args&&.....
^
./../MonaBase/include/Mona/String.h:325:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, short value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:341:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, long value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:357:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, unsigned short value, Args&...
^
./../MonaBase/include/Mona/String.h:365:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, unsigned int value, Args&&....
^
./../MonaBase/include/Mona/String.h:373:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, unsigned long value, Args&&...
^
./../MonaBase/include/Mona/String.h:381:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, long long value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:389:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, unsigned long long value, A...
^
./../MonaBase/include/Mona/String.h:397:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, float value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:405:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, double value, Args&&... args) {
^
./../MonaBase/include/Mona/String.h:413:18: note: candidate function [with
OutType = Mona::String, Args = <char const (&)[2]>]
static OutType& Append(OutType& out, bool value, Args&&... args) {
^
1 error generated.
make[2]: *** [tmp/release/Subscription.o] Error 1
make[2]: tmp/release/TCPSession.o' is up to date. make[2]:
tmp/release/TCProtocol.o' is up to date.
Some error in the project.
File MapParameters.h seems to be missing.
MonaBase compile OK in Windows, but makefile not working.
MonaCore compile OK in Windows, but makefile not working.
MonaTiny compile OK in Windows, but makefile not working.
UnitTest compile OK in Windows, but makefile not working.
MonaServer do not compile, due to missing MapParameters.h
Let me preface this- I doubt this is the fault of MonaServer, but it's more of a just-in-case or perhaps if someone has the answer, someone can find out why. Either that, or my router is being a dumbdumb. I really don't think it's ISP stuff. Feel free to remove or close- this isn't a support forum, I know.
I recently switched to MonaServer2. I had been using nginx-rtmp to pass RTMP livestreams to my girlfriend (and receive from her) for over a couple years. It worked and MonaServer works for this as well- I switched since Mona supports SRT now.
I know how to do port forwarding. RTMP and HTTP (1935 and 80 TCP) have been forwarding correctly and work great. 8000 for Icecast as well. This is all TCP, however.
RTMFP, which uses 1935 also, will not work from outside my LAN- and yes, I set my forward rule to "both" as RTMFP is a UDP protocol. 9710 UDP was also opened for SRT. I've rebooted my router.
The ports are listening correctly, I can access the SRT and RTMFP streams just fine on the same LAN, but when accessing from the internet, it hits a wall as if the ports were closed.
MonaServer2 is running on a Debian 10 x64 computer, cleanly compiled from latest master as of yesterday, same with SRT, it compiled without errors and has been working great.
I do run through a AirStation wirelessly bridging me- on same subnet, no firewalling going on there, it's a true wireless bridge. The TP-Link downstairs is a 2019 Archer C5 (AC1200) that is connected to a DSL modem in bridge mode so I don't double NAT. It's worked great so far. I'd hate to have to try a different router. I know I've successfully forwarded UDP ports in the past!
Thanks for the trouble if anyone can think of anything to troubleshoot this, and if there's a better place for me to post crap like this, that's fine too.
Hi,
Is it possible to run the MonaServer multiple times within an application code?
#include <MonaServer.h>
#include "Mona/ServerApplication.h"
#include <Version.h>
using namespace std;
using namespace Mona;
class ServerApp : public ServerApplication {
public:
const char* defineVersion() { return VERSION; }
MonaServer *server = nullptr;;
TerminateSignal *m_termSignal = nullptr;
private:
///// MAIN
int main(TerminateSignal& terminateSignal) {
m_termSignal = &terminateSignal;
// starts the server
server = new MonaServer(self, terminateSignal);
Parameters& params = server->start(self);
// sync params!
onChange = [¶ms](const string& key, const string* pValue) {
if (pValue)
params.setString(key, *pValue);
else
params.erase(key);
};
onClear = [¶ms]() { params.clear(); };
terminateSignal.wait();
// Stop the server
server->stop();
delete server;
onChange = nullptr;
onClear = nullptr;
Logs::RemoveLogger(name());
return Application::EXIT_OK;
}
};
class MonaServerThread
{
public:
void run()
{
m_server = new ServerApp();
const char *dummy[] = {"test"};
m_server->run(1, dummy);
delete m_server;
}
void stopServer()
{
if (m_server)
{
m_server->m_termSignal->set();
}
}
private:
ServerApp *m_server = nullptr;
};
The above code works only once. Calling MonaServerThread::run()
a second time does not start the server again.
Thanks,
Hi I've found this library which seem to be really well built. Since MonaServer1 had lua is it going to be implemented the same way or are you looking for new ways?
I hope this can help to simplify the lua integration: https://github.com/Leandros/sol2
I know this is possible the worst place for this, but the google groups thread won't let me respond, no matter what I try:
I just wanted to let you know that I am very thankful for your quick response and help, and that your samples worked flawlessly. I was able to reduce latency from 1000ms with a (rtmp -> monaserver2 -> rtmp) setup to about 400ms with a (rtmp -> monaserver2 -> srt) setup. For reference the configuration I used is:
[stream=Publication]
OUT srt://@0.0.0.0:1234
with OBS streaming to rtmp://127.0.0.1:1935/live
and vlc opening the network stream at srt://127.0.0.1:1234
.
I followed instructions to add SRT to MonaServer2, but no dice.
I am able to build both debug and release versions of 32 bit and 64 bit MonaServer2.
No matter how I add the header files and lib files I am still unable to see any type of SRT server in the console.
[SRT=true]
, still.. nothing.Please advise.
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.19042 Build 19042
VS Version: 16.9.4
\\End of line
There are problems with the sound .when I use OBS push video(the source is screen) to MonaTiny and VLC to play ,the sound is always the the first ใthe sound repeat again and again
This is what I get in the compile logs
GCC & G++ 4.9
make[2]: Leaving directory '/mnt/virtual/MonaServer2/MonaBase'
creating dynamic lib lib/libMonaBase.so
creating static lib lib/libMonaBase.ar
make[1]: Leaving directory '/mnt/virtual/MonaServer2/MonaBase'
make[1]: Entering directory '/mnt/virtual/MonaServer2/MonaCore'
mkdir -p tmp/release
mkdir -p lib
make[2]: Entering directory '/mnt/virtual/MonaServer2/MonaCore'
compiling sources/Server.cpp
In file included from ./include/Mona/Publish.h:22:0,
from ./include/Mona/Server.h:23,
from sources/Server.cpp:19:
./include/Mona/ServerAPI.h: In lambda function:
./include/Mona/ServerAPI.h:107:11: error: โvoid Mona::ServerAPI::manage()โ is protected
void manage();
^
sources/Server.cpp:116:22: error: within this context
ServerAPI::manage(); // in first to mark obsolete publication/subscription
^
At global scope:
cc1plus: warning: unrecognized command line option "-Wno-terminate"
Makefile:39: recipe for target 'tmp/release/Server.o' failed
make[2]: *** [tmp/release/Server.o] Error 1
compiling sources/MP3Reader.cpp
compiling sources/MediaWriter.cpp
compiling sources/RTP_MPEG.cpp
compiling sources/MediaSocket.cpp
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaSocket.h:22,
from sources/MediaSocket.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:335:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, Args&& ...) [with ExType = Mona::Ex::Net::Socket; Args = {const char (&)[14]}; Mona::LOG_LEVEL = unsigned char]โ is protected
void stop(LOG_LEVEL level, Args&&... args) {
^
sources/MediaSocket.cpp:56:94: error: within this context
_onSocketDisconnection = [this]() { Stream::stop<Ex::Net::Socket>(LOG_DEBUG, "disconnection"); };
^
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaSocket.h:22,
from sources/MediaSocket.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:330:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, const Mona::Exception&)โ is protected
void stop(LOG_LEVEL level, const Exception& ex) {
^
sources/MediaSocket.cpp:57:99: error: within this context
_onSocketError = [this](const Exception& ex) { Stream::stop(_streaming ? LOG_WARN : LOG_DEBUG, ex); };
^
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaSocket.h:22,
from sources/MediaSocket.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:335:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, Args&& ...) [with ExType = Mona::Ex::Protocol; Args = {const char*&}; Mona::LOG_LEVEL = unsigned char]โ is protected
void stop(LOG_LEVEL level, Args&&... args) {
^
sources/MediaSocket.cpp:79:106: error: within this context
pDecoder->onError = _onError = [this](const char* error) { Stream::stop<Ex::Protocol>(LOG_ERROR, error); };
^
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaSocket.h:22,
from sources/MediaSocket.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:335:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, Args&& ...) [with ExType = Mona::Ex::Net::Socket; Args = {const Mona::SocketAddress&, const char (&)[14]}; Mona::LOG_LEVEL = unsigned char]โ is protected
void stop(LOG_LEVEL level, Args&&... args) {
^
sources/MediaSocket.cpp:196:102: error: within this context
_onDisconnection = [this]() { Stream::stop<Ex::Net::Socket>(LOG_WARN, this->address, "disconnection"); };
^
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaSocket.h:22,
from sources/MediaSocket.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:330:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, const Mona::Exception&)โ is protected
void stop(LOG_LEVEL level, const Exception& ex) {
^
sources/MediaSocket.cpp:197:95: error: within this context
_onError = [this](const Exception& ex) { Stream::stop(*_pStreaming ? LOG_WARN : LOG_DEBUG, ex); };
^
At global scope:
cc1plus: warning: unrecognized command line option "-Wno-terminate"
Makefile:39: recipe for target 'tmp/release/MediaSocket.o' failed
make[2]: *** [tmp/release/MediaSocket.o] Error 1
compiling sources/ADTSWriter.cpp
compiling sources/ServerAPI.cpp
make[2]: 'tmp/release/ADTSReader.o' is up to date.
make[2]: 'tmp/release/QueryReader.o' is up to date.
make[2]: 'tmp/release/MediaReader.o' is up to date.
make[2]: 'tmp/release/FlashWriter.o' is up to date.
compiling sources/MediaFile.cpp
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaFile.h:22,
from sources/MediaFile.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:330:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, const Mona::Exception&)โ is protected
void stop(LOG_LEVEL level, const Exception& ex) {
^
sources/MediaFile.cpp:45:73: error: within this context
_onFileError = [this](const Exception& ex) { Stream::stop(LOG_ERROR, ex); };
^
In file included from ./include/Mona/MediaReader.h:22:0,
from ./include/Mona/MediaFile.h:22,
from sources/MediaFile.cpp:19:
./include/Mona/Media.h: In lambda function:
./include/Mona/Media.h:330:8: error: โvoid Mona::Media::Stream::stop(Mona::LOG_LEVEL, const Mona::Exception&)โ is protected
void stop(LOG_LEVEL level, const Exception& ex) {
^
sources/MediaFile.cpp:120:69: error: within this context
_onError = [this](const Exception& ex) { Stream::stop(LOG_ERROR, ex); };
^
At global scope:
cc1plus: warning: unrecognized command line option "-Wno-terminate"
Makefile:39: recipe for target 'tmp/release/MediaFile.o' failed
make[2]: *** [tmp/release/MediaFile.o] Error 1
make[2]: 'tmp/release/UDProtocol.o' is up to date.
make[2]: 'tmp/release/TSWriter.o' is up to date.
compiling sources/HTTP/HTTP.cpp
compiling sources/RTMP/RTMPSender.cpp
compiling sources/RTMP/RTMPDecoder.cpp
compiling sources/RTMP/RTMP.cpp
compiling sources/RTMP/RTMPSession.cpp
compiling sources/RTMP/RTMPWriter.cpp
compiling sources/WS/WS.cpp
compiling sources/WS/WSSender.cpp
compiling sources/WS/WSDecoder.cpp
compiling sources/WS/WSWriter.cpp
compiling sources/WS/WSSession.cpp
make[2]: Leaving directory '/mnt/virtual/MonaServer2/MonaCore'
Makefile:25: recipe for target 'release' failed
make[1]: *** [release] Error 2
make[1]: Leaving directory '/mnt/virtual/MonaServer2/MonaCore'
Makefile:2: recipe for target 'release' failed
make: *** [release] Error 2
Hi folks, I saw that you took some "inspiration" (and also some code I wrote) from the POCO C++ Libraries. I'm referring to classes like HelpFormatter, WinRegistry, WinService, Application and ServerApplication in MonaBase. As one of the main authors and copyright holders, I'm generally fine with that, but please play fair and add a proper attribution to that, e.g., "This code is in part based on code from the POCO C++ Libraries, licensed under the Boost software license." Simply taking and modifying code and then putting it under a different license without proper attribution is not the way to go.
Thanks for playing fair.
In the "Mona.h" header "typeof()" methods are defined (starting with line 300). When the project is compiled in XCode (version 12.4) then this leads to error messages. Renaming the "typeof()" methods in the whole project fixes the problem:
const` std::string& typeof(const std::type_info& info); // compilation errors
const` std::string& typeofcustom(const std::type_info& info); // no compilation errors
Hi folks,
is FTL will be integrated to next monaserver releases?
https://github.com/mixer/ftl-sdk
thanks
Greetings again!
I download the repo from github.
I created a new SharedLibrary project in the MonaServer solution called MonaTinyShared.
I copied all the files from MonaTiny into it so that I can compile and output a MonaTinyShared.lib which worked as planed.
I created a dll project named rtmfp to include the MonaTinyShared project into it with simple structure and trying to compiled it to generate a final DLL.
This is the compilation errors I get:
1>------ Build started: Project: rtmfp, Configuration: Debug Win32 ------
1>dllMain.cpp
1>rtmfp.cpp
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): warning C4003: not enough actual parameters for macro 'min'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): error C2146: syntax error: missing ')' before identifier 'value'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): error C2433: 'Type': 'inline' not permitted on data declarations
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): error C2365: 'Type': redefinition; previous definition was 'template parameter'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(219): note: see declaration of 'Type'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): error C2061: syntax error: identifier 'value'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): error C2059: syntax error: ')'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(220): error C2988: unrecognizable template declaration/definition
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(222): error C2065: 'Type1': undeclared identifier
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(222): error C2065: 'Type2': undeclared identifier
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(222): error C2923: 'std::conditional': 'Type1' is not a valid template type argument for parameter '_Ty1'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(222): error C2923: 'std::conditional': 'Type2' is not a valid template type argument for parameter '_Ty2'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(223): warning C4002: too many actual parameters for macro 'min'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(223): error C2146: syntax error: missing ')' before identifier 'value2'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(223): error C2146: syntax error: missing ';' before identifier 'value2'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(223): error C2059: syntax error: ')'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(223): error C2143: syntax error: missing ';' before '{'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(223): error C2447: '{': missing function header (old-style formal list?)
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): warning C4003: not enough actual parameters for macro 'max'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): error C2146: syntax error: missing ')' before identifier 'value'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): error C2433: 'Type': 'inline' not permitted on data declarations
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): error C2365: 'Type': redefinition; previous definition was 'template parameter'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(225): note: see declaration of 'Type'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): error C2061: syntax error: identifier 'value'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): error C2059: syntax error: ')'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(226): error C2988: unrecognizable template declaration/definition
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(228): error C2065: 'Type1': undeclared identifier
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(228): error C2065: 'Type2': undeclared identifier
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(228): error C2923: 'std::conditional': 'Type1' is not a valid template type argument for parameter '_Ty1'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(228): error C2923: 'std::conditional': 'Type2' is not a valid template type argument for parameter '_Ty2'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(229): warning C4002: too many actual parameters for macro 'max'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(229): error C2146: syntax error: missing ')' before identifier 'value2'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(229): error C2146: syntax error: missing ';' before identifier 'value2'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(229): error C2059: syntax error: ')'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(229): error C2143: syntax error: missing ';' before '{'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(229): error C2447: '{': missing function header (old-style formal list?)
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(232): warning C4003: not enough actual parameters for macro 'max'
1>g:\programming\c++\monaserver2\monabase\include\mona\mona.h(232): warning C4003: not enough actual parameters for macro 'min'
1>Done building project "rtmfp.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I would like to know why is this happening. Thank you.
I was testing MonaTiny a few months ago and noticed that MonaTiny was having problems with large frame sizes. Specifically if I fed in a RTSP stream for 4k video, it would crash or give a weird error or something. Can't completely remember what was happening.
I believe the RTSP stream was already decoded(and therefore large~ 4MB) frames.
I've installed all dependencies and installed monoserver when running ./MonaServer/MonaServer
I get file not found. I think I'm missing something here?
collect2: error: ld returned 1 exit status make[1]: *** [Makefile:52: release] Error 1 make[1]: Leaving directory '/home/pi/MonaServer2/MonaTiny' make: *** [Makefile:2: release] Error 2 pi@raspberrypi:~/MonaServer2 $ ./MonaServer/MonaServer -bash: ./MonaServer/MonaServer: No such file or directory
Is it possible to get status events (new client connected, disconnected) in the server code? If yes, can you point me to the appropriate classes?
Hi I would like to know if I can just use the Web server part of Mona in another project.
What code should I use just to run the Web server with certificates?
I see that the instanciation is done here but for all of them
How can I adapt this code when I add as dependency MonaCore in my project only for HTTP/HTTPS?
Also I would like to intercept all the incoming connection and be able to extract all the GET/POST params + the url path of each request after deciphering and manipulate them in my code.
Any suggestions?
Thank you for your support.
Hi, when i compile MonaCore, it display below err:
Error C2664 โstd::pair<const _Kty,_Ty>::pair(std::pair<const _Kty,_Ty> &&)โ: ๆ ๆณๅฐๅๆฐ 2 ไปโMona::HTTP::RendezVous::Remote *โ่ฝฌๆขไธบโconst std::unique_ptr<const Mona::HTTP::RendezVous::Remote,std::default_delete<_Ty>> &โ MonaCore E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xmemory0 655
Could you help me ?ths.
Hi I tried to create a CMake version of the MonaBase part of this project and I am getting the same error as follow:
Windows 10
Visual Studio 2017
2>Application.cpp
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(337): fatal error C1001: An internal error has occurred in the compiler.
2>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\cxxfe\sl\p1\c\types.c', line 4563)
2> To work around this problem, try simplifying or changing the program near the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(349): note: see reference to class template instantiation 'Mona::is_container<Type>' being compiled
2>BinaryReader.cpp
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(337): fatal error C1001: An internal error has occurred in the compiler.
2>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\cxxfe\sl\p1\c\types.c', line 4563)
2> To work around this problem, try simplifying or changing the program near the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(349): note: see reference to class template instantiation 'Mona::is_container<Type>' being compiled
2>BinaryWriter.cpp
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(337): fatal error C1001: An internal error has occurred in the compiler.
2>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\cxxfe\sl\p1\c\types.c', line 4563)
2> To work around this problem, try simplifying or changing the program near the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(349): note: see reference to class template instantiation 'Mona::is_container<Type>' being compiled
2>BitReader.cpp
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(337): fatal error C1001: An internal error has occurred in the compiler.
2>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\cxxfe\sl\p1\c\types.c', line 4563)
2> To work around this problem, try simplifying or changing the program near the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(349): note: see reference to class template instantiation 'Mona::is_container<Type>' being compiled
2>Buffer.cpp
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(337): fatal error C1001: An internal error has occurred in the compiler.
2>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\cxxfe\sl\p1\c\types.c', line 4563)
2> To work around this problem, try simplifying or changing the program near the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(349): note: see reference to class template instantiation 'Mona::is_container<Type>' being compiled
2>BufferPool.cpp
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(337): fatal error C1001: An internal error has occurred in the compiler.
2>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\cxxfe\sl\p1\c\types.c', line 4563)
2> To work around this problem, try simplifying or changing the program near the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>C:\prog\c++\Mona\MonaBase\include\Mona/Mona.h(349): note: see reference to class template instantiation 'Mona::is_container<Type>' being compiled
2>Congestion.cpp
Why is this error?
Hello, is there any way to restrict stream sources to only those from the local network? For example, I want MonaTiny to accept stream publication from 192.168.1.* only.
it just says
Application.cpp[134] MonaServer v2.666
Application.cpp[136] Load configuration file MonaServer.ini
Protocols.h[82] RTMFP server started on 0.0.0.0:1935
Protocols.h[82] RTMP server started on 0.0.0.0:1935
Protocols.h[82] RTMPS server started on 0.0.0.0:8443
Protocols.h[82] HTTP server started on 0.0.0.0:80
Protocols.h[82] WS server started on 0.0.0.0:80
Protocols.h[82] HTTPS server started on 0.0.0.0:443
Protocols.h[82] WSS server started on 0.0.0.0:443
Protocols.h[82] SRT server started on 0.0.0.0:9710
FlashMainStream.cpp[150] Method client releaseStream not found in application /
FlashMainStream.cpp[150] Method client FCPublish not found in application /
Publication.cpp[116] Publication started
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
RTMPDecoder.cpp[39] RTMP message exceeds buffer maximum 65536 size
TCPSession.cpp[32] RTMP session 1, Connection aborted (from=0.0.0.0:0, size=2048, flags=0)
TCPSession.cpp[32] RTMP session 1, Connection aborted (from=0.0.0.0:0, size=2048, flags=0)
TCPSession.cpp[32] RTMP session 1, Connection aborted
Publication.cpp[160] Publication stopped
FlashMainStream.cpp[150] Method client releaseStream not found in application /
FlashMainStream.cpp[150] Method client FCPublish not found in application /
Server.cpp[119] 1 clients
Publication.cpp[116] Publication started
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
RTMPDecoder.cpp[39] RTMP message exceeds buffer maximum 65536 size
TCPSession.cpp[32] RTMP session 1, Connection aborted
Publication.cpp[160] Publication stopped
FlashMainStream.cpp[150] Method client releaseStream not found in application /
FlashMainStream.cpp[150] Method client FCPublish not found in application /
Publication.cpp[116] Publication started
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
RTMPDecoder.cpp[39] RTMP message exceeds buffer maximum 65536 size
TCPSession.cpp[32] RTMP session 2, Connection aborted (from=0.0.0.0:0, size=2048, flags=0)
TCPSession.cpp[32] RTMP session 2, Connection aborted (from=0.0.0.0:0, size=2048, flags=0)
TCPSession.cpp[32] RTMP session 2, Connection aborted
Publication.cpp[160] Publication stopped
FlashMainStream.cpp[150] Method client releaseStream not found in application /
FlashMainStream.cpp[150] Method client FCPublish not found in application /
Publication.cpp[116] Publication started
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
Publication.cpp[248] Video frame dropped, waits a key frame
RTMPDecoder.cpp[39] RTMP message exceeds buffer maximum 65536 size
TCPSession.cpp[32] RTMP session 1, Connection aborted
Publication.cpp[160] Publication stopped
Server.cpp[119] 0 clients
and then it crashes
Generated project are for MSVC++ 2019 and not 2015
Compiling MonaBase goes well.
Compiling MonaCore errors :
onaCore\include\Mona/RTPWriter.h(116,1): message : Constructor for struct 'Mona::Media::Video::Tag' is declared 'explicit'
MonaCore\include\Mona/RTP_MPEG.h(38,7): message : see declaration of 'Mona::RTP_MPEG::writeVideo'
MonaCore\include\Mona/RTPWriter.h(114,1): error C2664: 'bool Mona::RTP_MPEG::writeAudio(Mona::Media::Audio::Tag,Mona::BinaryReader &,Mona::BinaryWriter &,Mona::UInt16)': cannot convert argument 1 from 'const TagType' to 'Mona::Media::Audio::Tag'
1> with
1> [
1> TagType=Mona::Media::Audio::Tag
1> ]
RTPWriter.h(116,1): error C2664: 'bool Mona::RTP_MPEG::writeVideo(Mona::Media::Video::Tag,Mona::BinaryReader &,Mona::BinaryWriter &,Mona::UInt16)': cannot convert argument 1 from 'const TagType' to 'Mona::Media::Video::Tag'
1> with
1> [
1> TagType=Mona::Media::Video::Tag
1> ]
I wanted to know if I can create a cluster of MonaServer2 in my arm64 network.
Is it already implemented ?
Hi, I want to test MonaServer in CentOS 7, but during make, I get these messages:
[ctoman@centos ~]$ cd MonaServer2/
[ctoman@centos MonaServer2]$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
[ctoman@centos MonaServer2]$ make
cd MonaBase && make && cd ../MonaCore && make && cd ../MonaTiny && make && cd ../MonaServer && make && cd ../UnitTests && make
make[1]: Entering directory/home/ctoman/MonaServer2/MonaBase' mkdir -p tmp/release mkdir -p lib make[2]: Entering directory
/home/ctoman/MonaServer2/MonaBase'
compiling sources/IPAddress.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/IPAddress.o] Error 1
compiling sources/BufferPool.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/BufferPool.o] Error 1
compiling sources/UDPSocket.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/UDPSocket.o] Error 1
compiling sources/TCPClient.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/TCPClient.o] Error 1
compiling sources/IOFile.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/IOFile.o] Error 1
compiling sources/Options.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Options.o] Error 1
compiling sources/Timezone.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Timezone.o] Error 1
compiling sources/PersistentData.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/PersistentData.o] Error 1
compiling sources/DiffieHellman.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/DiffieHellman.o] Error 1
compiling sources/Congestion.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Congestion.o] Error 1
compiling sources/Timer.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Timer.o] Error 1
compiling sources/ThreadPool.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/ThreadPool.o] Error 1
compiling sources/Path.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Path.o] Error 1
compiling sources/String.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/String.o] Error 1
compiling sources/IOSRTSocket.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/IOSRTSocket.o] Error 1
compiling sources/TCPServer.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/TCPServer.o] Error 1
compiling sources/Socket.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Socket.o] Error 1
compiling sources/Process.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Process.o] Error 1
compiling sources/URL.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/URL.o] Error 1
compiling sources/FileSystem.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/FileSystem.o] Error 1
compiling sources/UnitTest.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/UnitTest.o] Error 1
compiling sources/Packet.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Packet.o] Error 1
compiling sources/Parameters.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Parameters.o] Error 1
compiling sources/Date.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Date.o] Error 1
compiling sources/FileWatcher.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/FileWatcher.o] Error 1
compiling sources/TerminateSignal.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/TerminateSignal.o] Error 1
compiling sources/Net.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Net.o] Error 1
compiling sources/BitReader.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/BitReader.o] Error 1
compiling sources/IOSocket.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/IOSocket.o] Error 1
compiling sources/Crypto.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Crypto.o] Error 1
compiling sources/Handler.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Handler.o] Error 1
compiling sources/ThreadQueue.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/ThreadQueue.o] Error 1
compiling sources/File.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/File.o] Error 1
compiling sources/Thread.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Thread.o] Error 1
compiling sources/Option.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Option.o] Error 1
compiling sources/FileLogger.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/FileLogger.o] Error 1
compiling sources/TLS.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/TLS.o] Error 1
compiling sources/BinaryReader.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/BinaryReader.o] Error 1
compiling sources/DNS.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/DNS.o] Error 1
compiling sources/SRT.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/SRT.o] Error 1
compiling sources/SocketAddress.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/SocketAddress.o] Error 1
compiling sources/HelpFormatter.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/HelpFormatter.o] Error 1
compiling sources/ConsoleLogger.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/ConsoleLogger.o] Error 1
compiling sources/Logs.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Logs.o] Error 1
compiling sources/XMLParser.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/XMLParser.o] Error 1
compiling sources/Signal.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Signal.o] Error 1
compiling sources/BinaryWriter.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/BinaryWriter.o] Error 1
compiling sources/Mona.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Mona.o] Error 1
compiling sources/ServerApplication.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/ServerApplication.o] Error 1
compiling sources/HostEntry.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/HostEntry.o] Error 1
compiling sources/Buffer.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Buffer.o] Error 1
compiling sources/Proxy.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Proxy.o] Error 1
compiling sources/Util.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Util.o] Error 1
compiling sources/Application.cpp
g++: error: unrecognized command line option '-std=c++14'
make[2]: *** [tmp/release/Application.o] Error 1
make[2]: Leaving directory/home/ctoman/MonaServer2/MonaBase' make[1]: *** [release] Error 2 make[1]: Leaving directory
/home/ctoman/MonaServer2/MonaBase'
make: *** [release] Error 2
Hi,
I'm trying to combine MonaServer2 with this cordova plugin - https://github.com/disono/cordova-rtmp-rtsp-stream
When I try to publish a stream rtmp://192.168.1.91:1935/live/test, the app logs the following:
Application.cpp[130] MonaTiny v1.265
Protocols.h[132] RTMFP server started on 0.0.0.0:1935 (UDP)
Protocols.h[132] RTMP server started on 0.0.0.0:1935 (TCP)
Protocols.h[132] HTTP server started on 0.0.0.0:80 (TCP)
Protocols.h[132] WS server started on 0.0.0.0:80 (TCP)
Protocols.h[118] HTTPS server, Permission denied (address=0.0.0.0:443)
FlashMainStream.cpp[68] Client RTMP not compatible with AMF3, few complex object can be not supported
FlashMainStream.cpp[149] Method client releaseStream not found in application /live
FlashMainStream.cpp[149] Method client FCPublish not found in application /live
Am I doing something wrong?
Any plans for a Docker image for MonaTiny to be accessible from the Docker Hub?
I thought we need a place for MonaServer where we can exchange in realtime.
Let's make this beautiful piece of code become a standard!
MonaTiny does not compile with srt.
sudo make CFLAGS="-DENABLE_SRT=1 " LIBS="-lsrt "
Error saying ' cannot find -lsrt'
Where to find and install this library ?
Hi Thomas and Mathieu
I have stumbled upon this project and I thought that it could save you lots of time and efforts
trying to make MonaServer2 the fastest server out there....
I hope that is useful
What are the functional differences between the two projects?
Hi, current MonaServer user, looking into moving to MonaServer2 and I'm especially interested in http streaming. I've seen this post: MonaSolutions/MonaServer#71
Can anyone expand on that?
I'm using OBS for the video stream.
Where would the html page sit? in the www folder?
I have port 80, 8080 and some others in use on my PC, so looking to use 8084
Any help appreciated with this, thank you v much
Hi guys while surfing I found the chinese using MonaServer and building something out of it...
I don't know if this can be useful for you guys because it seems that it might be interesting.
It seems that version 2.0 is improved a lot
https://github.com/ossrs/srs/tree/2.0release
There is chinese and english WIKI
Greetings again!
I was wondering how complicated can it be to just give MonaServer2 connection handle to this AS3 virtual machine for validating a connection and decide if the connection will happen or not?
It seems that it is well implemented I am just wondering how complicated is it?
Is there any tutorial available to where to go to maybe able to try a small implementation in code...
https://github.com/drywolf/caspin
There is a sample folder how to use it and it doesn't seem to be a mystical process...
https://github.com/drywolf/caspin/tree/master/samples
Let me know
thanx
Greetings!
I created Let's Encrypt TLS certificate for my dynamic IP server and installed the fullchain.pem and key.pem in monatiny.exe root path.
I ran after the SSLLabs test to come up with a poor result of C
Here are the results for the logs:
TCPSession.cpp[33] HTTPS session 1, unknown protocol (from=64.41.200.105:42528, size=16384)
TCPSession.cpp[33] HTTPS session 1, unknown protocol
TCPSession.cpp[33] HTTPS session 1, unknown protocol (from=64.41.200.105:42528, size=16384)
TCPSession.cpp[33] HTTPS session 7, no shared cipher (from=64.41.200.105:48224, size=16384)
TCPSession.cpp[33] HTTPS session 1, Connection aborted
TCPSession.cpp[33] HTTPS session 2, Connection aborted
TCPSession.cpp[33] HTTPS session 2, inappropriate fallback (from=64.41.200.105:60494, size=16384)
TCPSession.cpp[33] HTTPS session 7, no shared cipher (from=64.41.200.105:33110, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:33690, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:34084, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:34628, size=16384)
TCPSession.cpp[33] HTTPS session 6, no shared cipher
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:35390, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:35598, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:35786, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:35994, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:36188, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher
TCPSession.cpp[33] HTTPS session 2, no shared cipher
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:36810, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:36998, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:37414, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:37618, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:37840, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:38022, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:39276, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:40120, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:40326, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:40972, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:41604, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:42030, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:42222, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:42444, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 4, no shared cipher
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:43072, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:43284, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:43960, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:44180, size=16384)
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:44390, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:44618, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:46576, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:46776, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:47774, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:47968, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:48312, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:48666, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:48874, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:49048, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:49236, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:49436, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:50890, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:51080, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:51280, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:51478, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:51678, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:51880, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:52078, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:52656, size=16384)
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:52832, size=16384)
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:53050, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:53242, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher
TCPSession.cpp[33] HTTPS session 3, no shared cipher
TCPSession.cpp[33] HTTPS session 4, no shared cipher
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:54062, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:54296, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:55674, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher
TCPSession.cpp[33] HTTPS session 5, no shared cipher (from=64.41.200.105:56540, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:57404, size=16384)
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:58098, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:58342, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:58588, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher
TCPSession.cpp[33] HTTPS session 7, no shared cipher (from=64.41.200.105:59046, size=16384)
Server.cpp[128] 1 clients
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:59260, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:59476, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:59712, size=16384)
TCPSession.cpp[33] HTTPS session 6, no shared cipher (from=64.41.200.105:59904, size=16384)
TCPSession.cpp[33] HTTPS session 9, no shared cipher (from=64.41.200.105:60098, size=16384)
TCPSession.cpp[33] HTTPS session 10, no shared cipher
Server.cpp[128] 0 clients
TCPSession.cpp[33] HTTPS session 1, no shared cipher (from=64.41.200.105:60512, size=16384)
TCPSession.cpp[33] HTTPS session 2, no shared cipher (from=64.41.200.105:60716, size=16384)
TCPSession.cpp[33] HTTPS session 3, no shared cipher (from=64.41.200.105:60910, size=16384)
TCPSession.cpp[33] HTTPS session 4, no shared cipher (from=64.41.200.105:32898, size=16384)
TCPSession.cpp[33] HTTPS session 4, ccs received early (from=64.41.200.105:39202, size=16384)
TCPSession.cpp[33] HTTPS session 4, ccs received early (from=64.41.200.105:39202, size=16384)
TCPSession.cpp[33] HTTPS session 5, ccs received early (from=64.41.200.105:39472, size=16384)
TCPSession.cpp[33] HTTPS session 5, ccs received early (from=64.41.200.105:39472, size=16384)
TCPSession.cpp[33] HTTPS session 1, decryption failed or bad record mac (from=64.41.200.105:39842, size=16384)
TCPSession.cpp[33] HTTPS session 3, decryption failed or bad record mac (from=64.41.200.105:40412, size=16384)
TCPSession.cpp[33] HTTPS session 3, unexpected message (from=64.41.200.105:40412, size=2048)
TCPSession.cpp[33] HTTPS session 3, Connection aborted
TCPSession.cpp[33] HTTPS session 4, decryption failed or bad record mac (from=64.41.200.105:40674, size=16384)
TCPSession.cpp[33] HTTPS session 4, unexpected message (from=64.41.200.105:40674, size=2048)
TCPSession.cpp[33] HTTPS session 4, Connection aborted
TCPSession.cpp[33] HTTPS session 1, decryption failed or bad record mac (from=64.41.200.105:40973, size=16384)
TCPSession.cpp[33] HTTPS session 1, unexpected message (from=64.41.200.105:40973, size=2048)
TCPSession.cpp[33] HTTPS session 1, Connection aborted
TCPSession.cpp[33] HTTPS session 3, decryption failed or bad record mac (from=64.41.200.105:41216, size=16384)
TCPSession.cpp[33] HTTPS session 3, unexpected message (from=64.41.200.105:41216, size=2048)
TCPSession.cpp[33] HTTPS session 3, Connection aborted
TCPSession.cpp[33] HTTPS session 4, decryption failed or bad record mac (from=64.41.200.105:41502, size=16384)
TCPSession.cpp[33] HTTPS session 4, unexpected message (from=64.41.200.105:41502, size=2048)
TCPSession.cpp[33] HTTPS session 4, Connection aborted
TCPSession.cpp[33] HTTPS session 5, decryption failed or bad record mac (from=64.41.200.105:41752, size=16384)
TCPSession.cpp[33] HTTPS session 5, unexpected message (from=64.41.200.105:41752, size=2048)
TCPSession.cpp[33] HTTPS session 5, Connection aborted
TCPSession.cpp[33] HTTPS session 1, decryption failed or bad record mac (from=64.41.200.105:42060, size=16384)
TCPSession.cpp[33] HTTPS session 1, unexpected message (from=64.41.200.105:42060, size=2048)
TCPSession.cpp[33] HTTPS session 1, Connection aborted
TCPSession.cpp[33] HTTPS session 3, decryption failed or bad record mac (from=64.41.200.105:42334, size=16384)
TCPSession.cpp[33] HTTPS session 3, unexpected message (from=64.41.200.105:42334, size=2048)
TCPSession.cpp[33] HTTPS session 1, tlsv1 alert unknown ca (from=54.187.174.169:36727, size=16384)
Screenshot of the result with warnings:
MonaServer seems to be vulnerable to :
This server is vulnerable to the POODLE attack. If possible, disable SSL 3 to mitigate. Grade capped to C
How can I make monatiny.exe to take the fullchain.pem certificate instead of the single cert-pem certificate file ?
Hi Mathieu and Thomas I have found a great project that we can implement inside of Mona for the clustering part.
ArangoDB and RethinkDB are using some kind of a HTTP Api bridge to make the nodes connect to each others. I thought that right now Mona's scaling setting are pretty static and not dynamic in a docker swarm context.
I would like you to check out this Go project and tell me if we can make Mona interact with it via HTTP so that we can let Mona apply dynamic/host clustering on the fly.
https://github.com/arangodb-helper/ArangoDBStarter
Thanx
RTPReader.h, lines 56-59 fix:
if (playloadType != _profile.playloadType) {
ERROR(typeof<RTP_ProfileType>()," configured to receive ",_profile.playloadType," playload type and not ",playloadType)
return 0;
}
RTPWriter.h, lines 113-116:
if (isAudio)
flush = _profile.writeAudio(tag, reader, writer, canWrite);
else
flush = _profile.writeVideo(tag, reader, writer, canWrite);
Here, I am not sure how to fix this. The problem is that "tag" is of the wrong type.
RTPWriter.h, line98:
_pBuffer.set(0);
Hi, I'm trying to get MonaServer2 working but it gives me main.lua error.
/main.lua :: attempt to call method 'createUDPSocket' (a nil value) monaserver
Regards.
MonaTiny compile in Windows, but does not compile in Linux. Could it be possible in the near feature?
Greetings!
I would like to know how complicated is it to implement a feature that specify Mona that I want to record my Webcam and that I want that the recording being persisted like session1_00.flv, session1_01.flv, session1_02.flv, etc .... session1_x.flv inside of folder session1 which is the stream name.
I am using Adobe AIR with RTMP.
Thank you.
Hello
I am trying to compile monaserver2
I made a git clone master and just run a make as in read.me file but getting the error :(
g++5 is present, openssl-dev is present
thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.