# VLC & [Gsteamer](https://forums.developer.nvidia.com/t/streaming-desktop-with-rtsp-gstreamer-server/143765) Ethernet 影像傳輸 > ChiaChe [time=Tue, Feb 18, 2025 1:38 PM] > Jetson Orin Nano (VLC Server) ---> PC(GSteamer Clients) > H264畫質10s~20s後品質會開始清晰,持續調整Server傳輸參數 [TOC] ## [ ](#Logitech-C920 "Logitech-C920")Logitech C920 | mode | Camera Delay | Jetson (Server) to PC(Clients) | | -------- |:------------:|:------------------------------:| | Cheese | 0.03 | X | | VLC | 0.5↓ | VLC: 6s、Gsteamer: 0.2s ~ 3s | | GSteamer | 0.8↓ | - | | Live555 | - | - | ### Camera 解析度規格查詢 ``` v4l2-ctl --device=/dev/video0 --list-formats-ext [0]: 'YUYV' (YUYV 4:2:2) Size: Discrete 1920x1080 Interval: Discrete 0.200s (5.000 fps) Size: Discrete 2304x1296 Interval: Discrete 0.500s (2.000 fps) Size: Discrete 2304x1536 Interval: Discrete 0.500s (2.000 fps) [1]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) ``` ## VLC install ``` sudo apt install vlc-plugin-access-extra sudo apt install -y nvidia-jetpack sudo apt-get install -y gtk-doc-tools sudo apt-get install -y libgstreamer1.0-0 gstreamer1.0-plugins-base sudo apt-get install -y gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools sudo apt-get install -y gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev ``` ### VLC RTSP Server H264 參數 `ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo` #### Camera ``` cvlc -vvv v4l2:///dev/video0 \ --sout '#transcode{vcodec=h264,vb=800,fps=30,acodec=mp4a,venc=x264{preset=ultrafast,tune=zerolatency,keyint=15}}:rtp{sdp=rtsp://:8554/live.ts}' \ --network-caching=50 \ --sout-rtp-caching=25 \ --live-caching=25 \ -I dummy ``` #### Screen ``` cvlc -vvv screen:// \ --sout '#transcode{vcodec=h264,vb=2000,fps=15,acodec=vp8,venc=x264{preset=ultrafast,tune=zerolatency,keyint=15}}:rtp{sdp=rtsp://:8554/live.ts}' \ --network-caching=100 \ --sout-rtp-caching=25 \ --live-caching=25 \ -I dummy ``` ## GStreamer ``` wget https://github.com/GStreamer/gst-rtsp-server/archive/1.8.zip cd gst-rtsp-server-1.8/ git clone https://github.com/GStreamer/common.git ./autogen.sh make -j4 sudo make install cd example/ #測試RTSP串流影像 ./test-launch "( videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 )" ``` ![image](https://hackmd.io/_uploads/S1Ex-yoKkl.png) ### Camera影像顯示 ``` gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1440,height=1080,framerate=30/1,format=UYVY' ! videoconvert ! autovideosink ``` ### Client ``` gst-launch-1.0 rtspsrc location=rtsp://10.42.0.136:8554/live.ts latency=0 ! decodebin ! autovideosink ``` ## Live555~(Jetson Orin Nano make尚未成功) ``` sudo apt update sudo apt install libssl-dev sudo apt-get install build-essential sudo apt-get remove liblivemedia-dev cd $HOME wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz tar xvf live555-latest.tar.gz cd live ./genMakefiles linux make sudo cp -r $HOME/live /usr/lib make clean ```