int main() { //创建RTSPClient获取流媒体数据 EasyRTSP_Init(&fRTSPHandle); if (NULL == fRTSPHandle) return 0; unsigned int mediaType = EASY_SDK_VIDEO_FRAME_FLAG | EASY_SDK_AUDIO_FRAME_FLAG; //获取音/视频数据 EasyRTSP_SetCallback(fRTSPHandle, __RTSPSourceCallBack); EasyRTSP_OpenStream(fRTSPHandle, 0, RTSPURL, RTP_OVER_TCP, mediaType, 0, 0, NULL, 1000, 0); while(1) { #ifndef _WIN32 usleep(10*1000); #else Sleep(10); #endif }; if(fPusherHandle) { EasyPusher_StopStream(fPusherHandle); EasyPusher_Release(fPusherHandle); fPusherHandle = NULL; } EasyRTSP_CloseStream(fRTSPHandle); EasyRTSP_Deinit(&fRTSPHandle); fRTSPHandle = NULL; return 0; }
int main() { //创建RTSPSource EasyRTSP_Init(&fRTSPHandle); // 可以根据fRTSPHanlde判断,也可以根据EasyRTSP_Init是否返回0判断 if (NULL == fRTSPHandle) return 0; // 设置数据回调处理 EasyRTSP_SetCallback(fRTSPHandle, __RTSPClientCallBack); // 设置接收音频、视频数据 unsigned int mediaType = EASY_SDK_VIDEO_FRAME_FLAG | EASY_SDK_AUDIO_FRAME_FLAG; // 打开RTSP流 EasyRTSP_OpenStream(fRTSPHandle, 0, RTSPURL, RTP_OVER_TCP, mediaType, 0, 0, NULL, 1000, 0); getchar(); // 关闭RTSPClient EasyRTSP_CloseStream(fRTSPHandle); // 释放RTSPHandle EasyRTSP_Deinit(&fRTSPHandle); fRTSPHandle = NULL; return 0; }
int main(int argc, char * argv[]) { #ifndef _WIN32 signal(SIGPIPE, SIG_IGN); #endif #ifdef _WIN32 extern char* optarg; #endif int ch; ProgName = argv[0]; PrintUsage(); while ((ch = getopt(argc,argv, "hd:p:n:u:")) != EOF) { switch(ch) { case 'h': PrintUsage(); return 0; break; case 'd': ConfigIP =optarg; break; case 'p': ConfigPort =optarg; break; case 'n': ConfigName =optarg; break; case 'u': ConfigRTSPURL =optarg; break; case '?': return 0; break; default: break; } } //Create RTSPClient Handle EasyRTSP_Init(&fRTSPHandle); if (NULL == fRTSPHandle) return 0; unsigned int mediaType = EASY_SDK_VIDEO_FRAME_FLAG | EASY_SDK_AUDIO_FRAME_FLAG; //Get Video & Audio EasyRTSP_SetCallback(fRTSPHandle, __RTSPSourceCallBack); EasyRTSP_OpenStream(fRTSPHandle, 0, ConfigRTSPURL, RTP_OVER_TCP, mediaType, 0, 0, NULL, 1000, 0); printf("Press Enter exit...\n"); getchar(); if(fPusherHandle) { EasyPusher_StopStream(fPusherHandle); EasyPusher_Release(fPusherHandle); fPusherHandle = NULL; } EasyRTSP_CloseStream(fRTSPHandle); EasyRTSP_Deinit(&fRTSPHandle); fRTSPHandle = NULL; return 0; }
int main(int argc, char * argv[]) { #ifdef _WIN32 extern char* optarg; #endif int ch; ProgName = argv[0]; PrintUsage(); while ((ch = getopt(argc,argv, "hc:C:v:t:d:n:u:U:")) != EOF) { switch(ch) { case 'h': PrintUsage(); return 0; break; case 'c': ConfigPlayListCapacity =atoi(optarg); break; case 'C': ConfigAllowCache =atoi(optarg); break; case 'v': ConfigM3U8Version =atoi(optarg); break; case 't': ConfigTargetDuration =atoi(optarg); break; case 'd': ConfigHLSRootDir =optarg; break; case 'n': ConfigHLSessionName =optarg; break; case 'u': ConfigRTSPURL =optarg; break; case 'U': ConfigHttpRootUrl =optarg; break; case '?': return 0; break; default: break; } } //创建NVSource EasyRTSP_Init(&fRTSPHandle); if (NULL == fRTSPHandle) return 0; unsigned int mediaType = EASY_SDK_VIDEO_FRAME_FLAG | EASY_SDK_AUDIO_FRAME_FLAG; //设置数据回调处理 EasyRTSP_SetCallback(fRTSPHandle, __RTSPClientCallBack); //打开RTSP流 EasyRTSP_OpenStream(fRTSPHandle, 0, ConfigRTSPURL, RTP_OVER_TCP, mediaType, 0, 0, NULL, 1000, 0); //创建EasyHLS Session fHLSHandle = EasyHLS_Session_Create(ConfigPlayListCapacity, ConfigAllowCache, ConfigM3U8Version); char subDir[64] = { 0 }; sprintf(subDir,"%s/",ConfigHLSessionName); EasyHLS_ResetStreamCache(fHLSHandle, ConfigHLSRootDir, subDir, ConfigHLSessionName, ConfigTargetDuration); printf("HLS URL:%s%s/%s.m3u8\n", ConfigHLSRootDir, ConfigHLSessionName, ConfigHLSessionName); printf("Press Enter exit...\n"); getchar(); EasyHLS_Session_Release(fHLSHandle); fHLSHandle = 0; EasyRTSP_CloseStream(fRTSPHandle); EasyRTSP_Deinit(&fRTSPHandle); fRTSPHandle = NULL; return 0; }
int main(int argc, char * argv[]) { #ifdef _WIN32 extern char* optarg; #endif int ch; ProgName = argv[0]; PrintUsage(); while ((ch = getopt(argc,argv, "hc:C:v:t:i:d:n:u:U:")) != EOF) { switch(ch) { case 'h': PrintUsage(); return 0; break; case 'c': ConfigPlayListCapacity =atoi(optarg); break; case 'C': ConfigAllowCache =atoi(optarg); break; case 'v': ConfigM3U8Version =atoi(optarg); break; case 't': ConfigTargetDuration =atoi(optarg); break; case 'i': ConfigFirtTSIFrameCount = atoi(optarg); break; case 'd': ConfigHLSRootDir =optarg; break; case 'n': ConfigHLSessionName =optarg; break; case 'u': ConfigRTSPURL =optarg; break; case 'U': ConfigHttpRootUrl =optarg; break; case '?': return 0; break; default: break; } } int isEasyHLSActivated = EasyHLS_Activate(KEY); switch(isEasyHLSActivated) { case EASY_ACTIVATE_INVALID_KEY: printf("EasyHLS_KEY is EASY_ACTIVATE_INVALID_KEY!\n"); break; case EASY_ACTIVATE_TIME_ERR: printf("EasyHLS_KEY is EASY_ACTIVATE_TIME_ERR!\n"); break; case EASY_ACTIVATE_PROCESS_NAME_LEN_ERR: printf("EasyHLS_KEY is EASY_ACTIVATE_PROCESS_NAME_LEN_ERR!\n"); break; case EASY_ACTIVATE_PROCESS_NAME_ERR: printf("EasyHLS_KEY is EASY_ACTIVATE_PROCESS_NAME_ERR!\n"); break; case EASY_ACTIVATE_VALIDITY_PERIOD_ERR: printf("EasyHLS_KEY is EASY_ACTIVATE_VALIDITY_PERIOD_ERR!\n"); break; case EASY_ACTIVATE_SUCCESS: printf("EasyHLS_KEY is EASY_ACTIVATE_SUCCESS!\n"); break; } if(EASY_ACTIVATE_SUCCESS != isEasyHLSActivated) return -1; if( EASY_ACTIVATE_SUCCESS != EasyRTSP_Activate(EasyRTSPClient_KEY)) return -1; //创建EasyRTSPClient EasyRTSP_Init(&fRTSPHandle); if (NULL == fRTSPHandle) return 0; unsigned int mediaType = EASY_SDK_VIDEO_FRAME_FLAG | EASY_SDK_AUDIO_FRAME_FLAG; //设置数据回调处理 EasyRTSP_SetCallback(fRTSPHandle, __RTSPClientCallBack); //打开RTSP流 EasyRTSP_OpenStream(fRTSPHandle, 0, ConfigRTSPURL, EASY_RTP_OVER_TCP, mediaType, 0, 0, NULL, 1000, 0, 0x01, 1); //创建EasyHLS Session fHLSHandle = EasyHLS_Session_Create(ConfigPlayListCapacity, ConfigAllowCache, ConfigM3U8Version); char subDir[64] = { 0 }; sprintf(subDir,"%s/",ConfigHLSessionName); EasyHLS_ResetStreamCache(fHLSHandle, ConfigHLSRootDir, subDir, ConfigHLSessionName, ConfigTargetDuration, ConfigFirtTSIFrameCount); printf("HLS URL:%s%s/%s.m3u8\n", ConfigHLSRootDir, ConfigHLSessionName, ConfigHLSessionName); printf("Press Enter exit...\n"); getchar(); EasyHLS_Session_Release(fHLSHandle); fHLSHandle = 0; EasyRTSP_CloseStream(fRTSPHandle); EasyRTSP_Deinit(&fRTSPHandle); fRTSPHandle = NULL; return 0; }