# Multimedia Sharing Tool
Share video, screen, camera and audio with an RTSP stream through Lan or Wan supporting CUDA computations in a High Performance embedded environment (Nvidia Jetson Nano), applying real-time AI techiques of Intrusion Detection with bounding boxes localization and frames manipulations.
A demonstration video can be found here: https://www.youtube.com/watch?v=gbF5GQyb1T8
NV Developer Jetson Projects forum post: https://devtalk.nvidia.com/default/topic/1065923/jetson-projects/multimedia-sharing-tool-a-jetson-nano-project/
## External Dependencies:
Before installing dependencies:
```sh
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install gcc
$ sudo apt-get install cmake
$ sudo apt-get install git
$ sudo apt-get install libgtk2.0-dev
```
### QT Creator
On ARM architectures: `sudo apt-get install qt5-default qtcreator -y`
Other architectures: [QT Home Page](https://www.qt.io/)
### CUDA (Jetson users)
Add the CUDA directory to $PATH
```sh
$ export PATH=${PATH}:/usr/local/cuda/bin
$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64
```
### CUDA (Non Jetson users)
1. Update your Nvidia GPU driver with the latest Nvidia proprietary one
2. Install CUDA Toolkit following the [CUDA Installation Guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)
### cURL development library
`$ sudo apt-get install libcurl4-openssl-dev`
### NVIDIA TensorRT (if not already installed or preinstalled)
[TensorRT Installation Guide](https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html)
### Jetson-inference library
1. (Non Jetson users only) Copy `glibconfig.h` header to `/usr/include/glib-2.0/`
```sh
$ sudo cp /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h /usr/include/glib-2.0/glibconfig.h
```
2. Follow the Build instructions from the [Jetson-inference GitHub page](https://github.com/dusty-nv/jetson-inference).
N.B. (Non Jetson users only)
Once downloaded the Jetson-inference library and before building the project, check that inside CMakeLists.txt your GPU architecture is specified (e.g. `-gencode arch=compute_62,code=sm_62`). Otherwise add it.
A list of Nvidia GPU architectures could be found [here](https://github.com/Werther158/multimedia_sharing_tool/wiki/Nvidia-GPU-architectures-compatibility)
### FFmpeg
`$ sudo apt-get install ffmpeg`
### CUDA Enabled OpenCV with Contrib
1. Remove any previous installations of x264
```sh
$ sudo apt-get remove x264 libx264-dev
```
2. (Jetson Nano only) Set a swap file to allow the system to use more than 4 GB of RAM
A swap file installer could be found [here](https://github.com/JetsonHacksNano/installSwapfile)
3. Install OpenCV dependencies
```sh
$ sudo apt-get install build-essential checkinstall cmake pkg-config yasm
$ sudo apt-get install git gfortran
$ sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev
$ sudo apt-get install libtiff5-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
$ sudo apt-get install libxine2-dev libv4l-dev
$ sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
$ sudo apt-get install libqt4-dev libtbb-dev
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
$ sudo apt-get install libvorbis-dev libxvidcore-dev
$ sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
$ sudo apt-get install x264 v4l-utils
```
4. Clone `opencv` and `opencv_contrib` version 3.4.7 repository
```sh
$ git clone -b 3.4.7 https://github.com/opencv/opencv
$ git clone -b 3.4.7 https://github.com/opencv/opencv_contrib
```
5. Make a directory i.e. `build` inside `opencv` directory, build and install the library
```sh
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D WITH_GTK=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_opencv_cudacodec=OFF \
-D BUILD_EXAMPLES=ON ..
$ nproc
# use the number that nproc returns which is the number of cores of your processor. Let's say it returns 4.
$ make -j4
$ sudo make install
```
## Building the project:
1. Clone the project
```
$ git clone https://github.com/Werther158/multimedia_sharing_tool
```
2. Open the `.pro` file with QT Creator
3. Set `multimedia_sharing_tool/build/debug` and `multimedia_sharing_tool/build/release` as debug and release directories
4. Build the project
没有合适的资源?快使用搜索试试~ 我知道了~
通过支持 CUDA 计算的 LAN 或 Wan 与 RTSP 流共享视频、屏幕、摄像头和音频_Makefile_代码_下载
共73个文件
png:21个
cpp:17个
h:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 162 浏览量
2022-07-03
01:33:58
上传
评论
收藏 1.59MB ZIP 举报
温馨提示
通过支持高性能嵌入式环境(Nvidia Jetson Nano)中的 CUDA 计算的 LAN 或 Wan 与 RTSP 流共享视频、屏幕、摄像头和音频,应用具有边界框定位和帧操作的入侵检测的实时 AI 技术。 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
multimedia_sharing_tool-master.zip (73个子文件)
multimedia_sharing_tool-master
Makefile.Debug 80KB
others
MST_specifiche.odt 12KB
Relazione High Performance Computing.docx 751KB
Presentazione High Performance Computing.pptx 854KB
MXE_windows.odt 12KB
media
italian.png 597B
server.png 267B
disconnect.png 379B
green_state.png 1KB
client.png 556B
stop.png 362B
mst_logo.ico 87KB
mst_logo.png 7KB
back.png 960B
exit.png 430B
start.png 1KB
connect.png 758B
mst_logo3.png 4KB
grey_state.png 1KB
stream_active.png 7KB
mst_logo2.png 3KB
stop_server.png 390B
eyegrey.png 370B
play.png 380B
stream_inactive.png 5KB
eye.png 459B
english.png 1KB
resource.qrc 938B
multimedia_sharing_tool.pro.user.61148a2 19KB
include
dictionary.h 2KB
frmconnected.h 1KB
connectivity.h 1KB
clientstreamthread.h 348B
frmrunning.h 2KB
frmserver.h 817B
feedvideopipethread.h 614B
tcpserverthread.h 489B
serverstreamthread.h 581B
configurations.h 3KB
frmmain.h 619B
tcpclientthread.h 537B
frmclient.h 698B
feedaudiopipethread.h 614B
cudadetectionthread.h 904B
camerathread.h 3KB
.qmake.stash 1019B
src
configurations.cpp 3KB
tcpserverthread.cpp 1KB
feedvideopipethread.cpp 2KB
feedaudiopipethread.cpp 2KB
cudadetectionthread.cpp 4KB
dictionary.cpp 17KB
clientstreamthread.cpp 2KB
connectivity.cpp 9KB
frmmain.cpp 3KB
main.cpp 2KB
tcpclientthread.cpp 1KB
frmconnected.cpp 10KB
camerathread.cpp 21KB
frmclient.cpp 5KB
frmrunning.cpp 12KB
serverstreamthread.cpp 3KB
frmserver.cpp 7KB
Makefile.Release 84KB
ui
frmmain.ui 2KB
frmclient.ui 10KB
frmconnected.ui 3KB
frmrunning.ui 3KB
frmserver.ui 13KB
multimedia_sharing_tool.pro.user 19KB
multimedia_sharing_tool.pro 4KB
Makefile 458KB
README.md 5KB
共 73 条
- 1
资源评论
快撑死的鱼
- 粉丝: 2w+
- 资源: 9148
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ks滑块加密算法与源代码
- 医护人员检测23-YOLOv8数据集合集.rar
- 1.电力系统短路故障引起电压暂降 2.不对称短路故障分析 包括:共两份自编word+相应matlab模型 1.短路故障的发生频次以及不同类型短路故障严重程度,本文选取三类典型的不对称短路展开研究
- C#连接sap NCO组件 X64版
- 开源基于51单片机的多功能智能闹钟设计,课设毕设借鉴参考
- 深度强化学习电气工程复现文章,适合小白学习 关键词:能量管理 深度学习 强化学习 深度强化学习 能源系统 优化调度 编程语言:python平台 主题:用于能源系统优化调度的深度强化学习算法的性能比较
- 泰州市2005-2024年近20年历史气象数据下载
- 盐城市2005-2024年近20年历史气象数据下载
- 连云港市2005-2024年近20年历史气象数据下载
- 南通市2005-2024年近20年历史气象数据下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功