89
edits
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
PTZ Microservice allows you to navigate a video through PTZ. | PTZ Microservice is a custom microservice developed by RidgeRun. What makes it special is that it allows you to navigate a '''360-degrre''' video through PTZ. PTZ are the controls available that can be updated at any time during execution, and it means: | ||
* PAN (horizontal) | |||
* TILT (vertical) | |||
* ZOOM (magnify or decrease the view of the image) | |||
This microservice leverages the RidgeRun [[ Spherical Video PTZ | Spherical Video PTZ ]] to make possible the selection of your region of interest within the sphere. | |||
Briefly, this service gets an RTSP stream, performs the PTZ depending on the user instructions, and then returns as the output the transformed stream using the same protocol, RTSP. | |||
==API documentation== | |||
Usually, in the Microservices architectures the communication with the outside world is handle through well-defined APIs. This APIs specify methods, data formats, and protocols for interaction. | |||
In our PTZ Microservice, the API documentation can be found here, there you can the list of the available requests. | |||
{{Review|We need to point this to the official documentation, not the repo|efernandez}} | {{Review|We need to point this to the official documentation, not the repo|efernandez}} | ||
{{Review|We could include here the link to the project documentation|efernandez}} | {{Review|We could include here the link to the project documentation|efernandez}} | ||
==Running the service== | ==Running the service== | ||
{{Review|Here you can specify that the service can be run directly into the host or using docker. Then describe both options|efernandez}} | {{Review|Here you can specify that the service can be run directly into the host or using docker. Then describe both options|efernandez}} | ||
PTZ Microservice can run as a standalone application or as docker image. The docker approach has some benefits, for example: since the application is encapsulated along with its dependencies, less conflicts arise in the process of deployment. | |||
===As a standalone application=== | |||
Before running the service, you should make sure you have all the dependencies installed. The intructions to do it can be found here: [https://developer.ridgerun.com/wiki/index.php/Spherical_Video_PTZ/User_Guide/Building_and_Installation Spherical Video PTZ Building and Installation] | Before running the service, you should make sure you have all the dependencies installed. The intructions to do it can be found here: [https://developer.ridgerun.com/wiki/index.php/Spherical_Video_PTZ/User_Guide/Building_and_Installation Spherical Video PTZ Building and Installation] | ||
Line 42: | Line 55: | ||
</pre> | </pre> | ||
== | ===As a docker image=== | ||
Before starting with docker support make sure you have nvidia runtime in your system. Follow [https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuration these instructions] to have docker up and runing in your Jetson Board. | |||
====Use prebuild image (dockerhub) ==== | |||
docker pull | |||
{{Review|The service will be hosted in dockerhub, when uploaded we will update this section|efernandez}} | {{Review|The service will be hosted in dockerhub, when uploaded we will update this section|efernandez}} | ||
====Build your own image (Dockerfile)==== | |||
===Build the container=== | ===Build the container=== | ||
We can build the ptz microservice container using the Dockerfile in the docker directory. This includes a base NVIDA image and the dependencies to run the ptz microservice application. | We can build the ptz microservice container using the Dockerfile in the docker directory. This includes a base NVIDA image and the dependencies to run the ptz microservice application. | ||
{{Review|Add link to the repository|mortigoza}} | |||
First, we need to prepare the context directory for this build, please create a directory and include all the needed repositories (listed below). The Dockerfile will look for all the source code in the context directory and copy them to the container. | First, we need to prepare the context directory for this build, please create a directory and include all the needed repositories (listed below). The Dockerfile will look for all the source code in the context directory and copy them to the container. | ||
Line 94: | Line 117: | ||
sudo docker run --runtime nvidia -it --privileged --net=host --ipc=host --name ptz-service ridgerun/ptz-service:latest --host=HOST --port=PORT | sudo docker run --runtime nvidia -it --privileged --net=host --ipc=host --name ptz-service ridgerun/ptz-service:latest --host=HOST --port=PORT | ||
</pre> | </pre> | ||
==Examples== | ==Examples== |
edits