- Hardware acceleration, support Intel HD graphics/Nvidia Jetson series
- RTSP/v4l2/custom FPGA pull, rtmp push
- much higher performance v4l2 element, support YUYV and MJPEG
- hevc in rtmp
process: add timestamp -> change video resolution -> video encode
Jetson Xavier NX, add timestamp uses about 3ms, video resolution change uses about 5ms and video encode uses about 3ms.
- Centos 8
setup epel repo and rpmfusion repo using add_rpmfusion_cn_mirror.sh
wget -O /etc/yum.repos.d/ubox.repo https://ubox-repo.ucloud.cn/repos/rpm/rhel8/ubox.repo
dnf install ubox-publisher
- Ubuntu 18.04 Bionic and Ubuntu 20.04 Focal
apt-key adv --fetch-keys http://ubox-deb.ucloud.cn/DEB-GPG-KEY-ubox
echo 'deb http://ubox-deb.ucloud.cn/repos/deb/all focal ubox' >> /etc/apt/sources.list
apt-get update
apt install ubox-publisher
- run server,
ubox-publisher -u @/tmp/publisher.sock
- test
# adjust json file
./build/test/cli @/tmp/publisher.sock < ./test/request/PushStream.json
- Dependency: RPMFusion and EPEL repositoires
- CentOS 8
setup epel repo and rpmfusion repo using add_rpmfusion_cn_mirror.sh
dnf install glib2 pango-devel cairo-devel gstreamer1-devel gstreamer1-plugins-base-devel \
gstreamer1 gstreamer1-libav gstreamer1-vaapi gstreamer1-plugins-base gstreamer1-plugins-bad-free \
gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-plugins-ugly-free \
libva-intel-driver gstreamer1-plugins-bad-freeworld
- Ubuntu 18.04/20.04
apt-get install libpango1.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 \
gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base \
gstreamer1.0-plugins-bad gstreamer1.0-tools gstreamer1.0-rtsp gstreamer1.0-vaapi gstreamer1.0-libav
- compile
mkdir build
cd build
cmake ..
make install