Как использовать live555 для потокового видео?

Я использую C ++ с Qt, чтобы создать проект для потоковой передачи видео с KIT armTiny6410 на ноутбук. Я использую live555, чтобы сделать это. Это поток в потоковый файл. Но я не знаю, что мне нужно включить, потому что при компиляции я получаю следующие ошибки:

ошибка: TaskScheduler не был объявлен в этой области
ошибка: «планировщик» не был объявлен в этой области
ошибка: «BasicTaskScheduler» не был объявлен
ошибка: «UsageEnvironment» не было объявлено в этой области
ошибка: env не был объявлен в этой области
ошибка: «BasicUsageEnvironment» не был объявлен
ошибка: «UserAuthenticationDatabase» не был объявлен в этой области
ошибка: «authDB» не был объявлен в этой области
ошибка: «RTSPServer» не был объявлен в этой области
ошибка: ‘rtspServer’ не был объявлен в этой области

void ThreadStream::run()
{
// Begin by setting up our usage environment:
TaskScheduler* scheduler = BasicTaskScheduler::createNew();
UsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler);

UserAuthenticationDatabase* authDB = NULL;
#ifdef ACCESS_CONTROL
// To implement client access control to the RTSP server, do the following:
authDB = new UserAuthenticationDatabase;
authDB->addUserRecord("username1", "password1"); // replace these with real strings
// Repeat the above with each <username>, <password> that you wish to allow
// access to the server.
#endif

// Create the RTSP server.  Try first with the default port number (554),
// and then with the alternative port number (8888):
RTSPServer* rtspServer;
portNumBits rtspServerPortNum = 554;
rtspServer = DynamicRTSPServer::createNew(*env, rtspServerPortNum, authDB);
if (rtspServer == NULL) {
rtspServerPortNum = 8888;
rtspServer = DynamicRTSPServer::createNew(*env, rtspServerPortNum, authDB);
}
if (rtspServer == NULL) {
QString msg = "Failed to create RTSP server";
emit notifyMessage(msg);
exit(1);
}
QString msge = "LIVE555 Media Server\n";
char* urlPrefix = rtspServer->rtspURLPrefix();
msge += "Play streams from this server using the URL\n\t"+  QString(urlPrefix) + "<filename>\nwhere <filename> is a file present in the current directory.\n"+ "Each file's type is inferred from its name suffix:\n"+ "\t\".264\" => a H.264 Video Elementary Stream file\n"+ "\t\".aac\" => an AAC Audio (ADTS format) file\n"+ "\t\".ac3\" => an AC-3 Audio file\n"+ "\t\".amr\" => an AMR Audio file\n"+ "\t\".dv\" => a DV Video file\n"+ "\t\".m4e\" => a MPEG-4 Video Elementary Stream file\n"+ "\t\".mkv\" => a Matroska audio+video+(optional)subtitles file\n"+ "\t\".mp3\" => a MPEG-1 or 2 Audio file\n"+ "\t\".mpg\" => a MPEG-1 or 2 Program Stream (audio+video) file\n"+ "\t\".ts\" => a MPEG Transport Stream file\n"+ "\t\t(a \".tsx\" index file - if present - provides server 'trick play' support)\n"+ "\t\".wav\" => a WAV Audio file\n"+ "\t\".webm\" => a WebM audio(Vorbis)+video(VP8) file\n";

emit notifyMessage(msge);

env->taskScheduler().doEventLoop(); // does not return
}

Моя библиотека из live555 в: / urs / lib / live
Пожалуйста, помогите мне! Большое спасибо !

0

Решение

Вам нужно включить эти три файла, которые есть в папке liveMedia / включить, BasicUsageEnvironment / включить а также groupsock / включить папка каталога исходного кода

#include <liveMedia.hh>
#include <BasicUsageEnvironment.hh>
#include <GroupsockHelper.hh>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]