Project for audio-video data processing http://www.cs.ubbcluj.ro/~forest/pdav/
You need to have at least Qt 5.5
installed and configured.
- Open the avdp.pro file with Qt Creator.
- You can specify the type of build targets if you click on
Details
. - Create a new
build
directory. - For
Debug
andRelease
build use the new createdbuild
directory. - Click on
Configure Project
. - Start hacking.
- [Optional] If you want to use multiple cores/threads when building your project you can do this by going to the left tab called
Projects
, and underBuild Steps
on the line that saysMake: make in....
click onDetails
and in the fieldMake arguments:
put-j <number_of_threads>
(an example with 4 threads-j 4
).
- Create a build directory
mkdir build
andcd build
. - Run qmake
qmake -Wall ../avdp.pro CONFIG+=debug
for debug builds orqmake -Wall ../avdp.pro CONFIG+=release
for release builds. - Compile with
make -j $(nproc)
(bash shell) ormake -j (nproc)
(fish shell). - The executable will be in
./src/avdp
.
Simply run the executable to run the server.
./avdp
Once a client connects it will save the images inside the directory screenshots_network
.
ffmpeg -i "screenshots_network/%06d.jpg" -c:v libx264 -r 25 -crf 25 -start_number 0 -pix_fmt yuv420p out.mp4
The out.mp4
file is your final video recorded on the client.
The default screen will be 0
and FPS will be 25
.
Specify -g
to run the client.
./avdp -g
To change the screen specify -s <screen_number>
.
The default screen size will be the whole screen and position will 0, 0
on that screen.
For more options specify run with --help
.
- MJPEG streaming service https://stackoverflow.com/questions/33064955/how-to-create-a-http-mjpeg-streaming-server-with-qtcp-server-sockets
- multiple clients and buffering https://stackoverflow.com/questions/20546750/qtcpsocket-reading-and-writing