Browse Source

add gstreamer.tex

Signed-off-by: surenyi <surenyi82@163.com>
master
surenyi 2 months ago
parent
commit
d3e224ccd2
  1. BIN
      pdf/rk3588_guide.pdf
  2. 1
      rk3588_guide.tex
  3. 38
      tex/gstreamer.tex

BIN
pdf/rk3588_guide.pdf

Binary file not shown.

1
rk3588_guide.tex

@ -205,6 +205,7 @@
\import{tex/}{resource}
\import{tex/}{freq}
\import{tex/}{upgrade}
\import{tex/}{gstreamer}
\import{tex/}{issue}
\part {生产部署}
\import{tex/}{deploy}

38
tex/gstreamer.tex

@ -0,0 +1,38 @@
\chapter{gstreamer 用法示例}
\section{推 MJPEG 的视频流}
一般 USB 接口的摄像头支持 Motion JPEG 的视频流。可以用下面的命令来推 RTP 的视频流:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
gst-launch-1.0 v4l2src device=/dev/video0 ! 'image/jpeg,width=1280,height=720,\
framterate=30/1' ! rtpjpegpay ! udpsink host=192.168.1.27 port=5000
\end{minted}
这里假定接收端的IP地址是`192.168.1.27'。接收端用 VLC 软件,需要配置一个 sdp 文件, 内容如下:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
m=video 5000 RTP/AVP 26
a=rtpmap:26 JPEG/90000
a=framerate:30
c=IN IP4 192.168.1.27
\end{minted}
摄像头支持的视频格式,可以用命令进行查看:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
v4l2-ctl -d 0 --list-formats-ext
\end{minted}
这里的`0' 对应 `/dev/video0',也可以写成 `/dev/video0' 的形式。
\section{推 TS 流}
用 gstreamer 推 RTP 的视频流,用 VLC 一般需要一个 sdp 文件才能正常播放。推 ts 的流,VLC 一般可以
直接播放。例如,用组播推 ts 流:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
gst-launch-1.0 v4l2src device=/dev/video0 ! 'image/jpeg,width=1280,height=720,\
framterate=30/1' ! jpegdec ! mpph264enc ! mpegtsmux ! udpsink host=224.2.2.5 \
port=5000 ttl-mc=225 ttl=255
\end{minted}
VLC 打开串流: ``\texttt{udp://@224.2.2.5:5000}''。
用 udp 单播推 ts 流(这里以目标地址 `192.168.1.27', 端口 `5000' 为例):
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
gst-launch-1.0 v4l2src device=/dev/video20 ! 'image/jpeg,width=1280,height=720,\
framerate=30/1' ! jpegdec ! mpph264enc ! h264parse config-interval=10 ! \
mpegtsmux ! udpsink host=192.168.1.27 port=5000
\end{minted}
在目标机上,用 VLC 打开串流:``\texttt{udp://@:5000}''。
Loading…
Cancel
Save