<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hey Chris, sure I'll share how to do it now quickly.<div><br></div><div>I got the CMake file working so that it creates a Visual Studio solution that allows you to compile openRTSP, could easily be changed to run other test programs. In order to run it with my own code, I then created my own class that subclassed FramedSource and allowed me to use my own subclass along with the live555 RTSPServer. Would take me a little bit to remember everything I did there to get it working. But also got it working via CMake (plus lots of work on top of that within Visual Studio).  Oh and if you are considering something other than live555.. I started with ffmpeg, however it turned out that I got more than 10x lower CPU usage and much less memory too using live555 as an RTSP server.  I'd definitely recommend it.</div><div><br></div><div>You'll want to download and set up the CMake tool and run the GUI: <a href="https://cmake.org/runningcmake/">https://cmake.org/runningcmake/</a></div><div><br></div><div>Set the source code path to the directory that includes the CMakeLists.txt file(must be named CMakeLists.txt) that is used to build the solution. Set the Build path to the location you want the VS Solution and project files to be output.</div><div><br></div><div>Good luck, let me know if you have any CMake questions.</div><div>Matt</div><div><br></div><div><br></div><div>This is the CMakeLists.txt file I used:</div><div>----------------------------------------------------------------------------------------------------------------------------------</div><div><div>#CMake file for compiling openRTSP RTSP client</div><div>cmake_minimum_required(VERSION 3.10.2)</div><div>project(LIVE555)</div><div><br></div><div>set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")</div><div>set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -Wall -fexceptions -DXLOCALE_NOT_USED=1 -DNULL=0 -DNO_SSTREAM=1 -DSOCKLEN_T=socklen_t -UIP_ADD_SOURCE_MEMBERSHIP")</div><div><br></div><div>#live555 include directories</div><div>include_directories(</div><div>        src/BasicUsageEnvironment/include</div><div>        src/liveMedia/include</div><div>        src/groupsock/include</div><div>        src/UsageEnvironment/include</div><div>)</div><div><br></div><div>AUX_SOURCE_DIRECTORY(src/BasicUsageEnvironment BasicUsageEnvironmentSources)</div><div>AUX_SOURCE_DIRECTORY(src/liveMedia liveMediaSources)</div><div>AUX_SOURCE_DIRECTORY(src/groupsock groupsockSources)</div><div>AUX_SOURCE_DIRECTORY(src/UsageEnvironment UsageEnvironmentSources)</div><div><br></div><div>#live555 LiveMedia</div><div>set(LIVE555_SOURCES</div><div>        ${BasicUsageEnvironmentSources}</div><div>        ${groupsockSources}</div><div>        ${liveMediaSources}</div><div>        ${UsageEnvironmentSources}</div><div>        )</div><div><br></div><div>add_library(LIVE555 STATIC ${LIVE555_SOURCES})</div><div><br></div><div>if(WIN32)</div><div>add_executable(live555_openRTSP_Project src/testProgs/openRTSP.cpp src/testProgs/playCommon.cpp)</div><div>#add_executable(live555_openRTSP_Project WIN32 src/testProgs/openRTSP.cpp src/testProgs/playCommon.cpp)</div><div>#set_property(TARGET live555_openRTSP_Project PROPERTY WIN32_EXECUTABLE true)</div><div>set_property(TARGET live555_openRTSP_Project PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")</div><div>else()</div><div>add_executable(live555_openRTSP_Project src/testProgs/openRTSP.cpp src/testProgs/playCommon.cpp)</div><div>endif()</div><div><br></div><div> target_include_directories(live555_openRTSP_Project PUBLIC</div><div>        src/basicusageenvironment/include</div><div>        src/livemedia/include</div><div>        src/groupsock/include</div><div>        src/usageenvironment/include</div><div>)</div><div><br></div><div>target_link_libraries(live555_openRTSP_Project LIVE555)</div><div><br></div><div>if(WIN32)</div><div><span style="white-space:pre"> </span>target_link_libraries(live555_openRTSP_Project wsock32 Ws2_32)</div><div>endif()</div><div><br></div><div>#target_link_libraries(XXX LIVE555)</div></div><div>----------------------------------------------------------------------------------------------------------------------------------<br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 6, 2020 at 10:24 AM Chris Paucar <<a href="mailto:chris.paucar@roc-connect.com">chris.paucar@roc-connect.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Hi Matthew,</div></div><div dir="auto"><br></div><div dir="auto">I’m considering a VS Code setup for LIVE555. I’d be interested in what you come up with. </div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Chris</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 6, 2020 at 10:05 AM Matthew Czarnek <<a href="mailto:mczarnek@edge360.com" target="_blank">mczarnek@edge360.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">It appears Visual Studio does support Makefiles through the use of 'nmake' but I don't believe (I could be wrong.. I'd love it if someone knew otherwise) that Visual Studio can be used to open the makefile as a project. However, it is possible to use CMake to do so. Which I personally find to be quite handy for debugging purposes and understanding what's going on behind the covers when my code interacts with Live555.<div><br></div><div>I'd recommend letting me whip up instructions for building using CMake to generate a LIVE555 VS project once I'm finished with my current deadline at work. Windows support seems important to me.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 2, 2020 at 6:00 PM Ross Finlayson <<a href="mailto:finlayson@live555.com" target="_blank">finlayson@live555.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On Jul 3, 2020, at 7:08 AM, Matthew Czarnek <<a href="mailto:mczarnek@edge360.com" target="_blank">mczarnek@edge360.com</a>> wrote:<br>
> <br>
> Heads up, the build instructions found here don't work: <a href="http://www.live555.com/liveMedia/#config-windows" rel="noreferrer" target="_blank">http://www.live555.com/liveMedia/#config-windows</a><br>
> <br>
> Visual Studio 2019 doesn't have a "Open Workspace" option. Or any other way of opening mak files that seems to do it.<br>
<br>
Makefiles have been the standard way to develop systems software for almost 40 years now.  If “Visual Studio 2019” does not support Makefiles, then I’ll probably just remove (and undocument) all support for building this code on Windows.<br>
<br>
(Support for building the code *for* Windows will likely remain, although even that isn’t guaranteed indefinitely.)<br>
<br>
<br>
Ross Finlayson<br>
Live Networks, Inc.<br>
<a href="http://www.live555.com/" rel="noreferrer" target="_blank">http://www.live555.com/</a><br></blockquote></div></blockquote></div></div></blockquote></div></div></div></div></div></div>