SkillAgentSearch skills...

Live555helper

Helper for live555

Install / Use

/learn @mpromonet/Live555helper
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

live555helper

Helper for live555

The aim of this project is to simplify usage of live555 Streaming Media, that is powerful but need to implement lots of logic.

A simple RTSP client could be implement with :

#include <iostream>
#include "environment.h"
#include "rtspconnectionclient.h"


int main(int argc, char *argv[])
{
	class MyCallback : public RTSPConnection::Callback
	{
		public:
			virtual bool    onData(const char* id, unsigned char* buffer, ssize_t size, struct timeval presentationTime) {
				std::cout << id << " " << size << " ts:" << presentationTime.tv_sec << "." << presentationTime.tv_usec << std::endl;
				return true;
			}
	};

	Environment env;
	MyCallback cb;
	RTSPConnection rtspClient(env, &cb, "rtsp://pi2.local:8554/unicast");
	rtspClient.start();
	env.mainloop();
	return 0;
}

A simple SDP client could be implement with :

#include <iostream>
#include "environment.h"
#include "sdpclient.h"


int main(int argc, char *argv[])
{
	class MyCallback : public SDPClient::Callback
	{
		public:
			virtual bool    onData(const char* id, unsigned char* buffer, ssize_t size, struct timeval presentationTime) {
				std::cout << id << " " << size << " ts:" << presentationTime.tv_sec << "." << presentationTime.tv_usec << std::endl;
				return true;
			}
	};

	std::string ip("127.0.0.1");
	std::string port("6901");
	std::string rtppayloadtype("96");
	std::string codec("H264");

	std::ostringstream os;
	os << "m=video " << port << " RTP/AVP " << rtppayloadtype << "\r\n"
	   << "c=IN IP4 " << ip <<"\r\n"
	   << "a=rtpmap:" << rtppayloadtype << " " << codec << "\r\n";
		
	Environment env;
	MyCallback cb;
	SDPClient rtpClient(env, &cb, os.str().c_str());
	env.mainloop();
	return 0;
}

A simple MKV client could be implement with :

#include <iostream>
#include "environment.h"
#include "mkvclient.h"

int main(int argc, char *argv[])
{
	class MyCallback : public MKVClient::Callback
	{
		public:
			virtual bool    onData(const char* id, unsigned char* buffer, ssize_t size, struct timeval presentationTime) {
				std::cout << id << " " << size << " ts:" << presentationTime.tv_sec << "." << presentationTime.tv_usec << std::endl;
				return true;
			}
	};

	Environment env;
	MyCallback cb;
	MKVClient mkvClient(env, &cb, "file://2008-Big_Buck_Bunny-496k.mkv");
	env.mainloop();
	return 0;
}

Related Skills

View on GitHub
GitHub Stars100
CategoryDevelopment
Updated2mo ago
Forks39

Languages

C++

Security Score

95/100

Audited on Jan 21, 2026

No findings