Live555helper
Helper for live555
Install / Use
/learn @mpromonet/Live555helperREADME
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
node-connect
348.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
