Browse Source

add video section

Signed-off-by: surenyi <surenyi82@163.com>
master
surenyi 7 months ago
parent
commit
d7ea9dbb87
  1. BIN
      images/vlc.png
  2. BIN
      pdf/rk3588_guide.pdf
  3. BIN
      rk3588_guide.pdf
  4. 4
      tex/intro.tex
  5. 55
      tex/resource.tex

BIN
images/vlc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

BIN
pdf/rk3588_guide.pdf

Binary file not shown.

BIN
rk3588_guide.pdf

Binary file not shown.

4
tex/intro.tex

@ -282,12 +282,12 @@ eth1: 192.168.2.80
root 密码: root
\end{comment}
\chapter{根文件系统}
\section{根文件系统}
rootfs.img 是一个 ext4 文件系统格式的文件,可以通过 mount 的方式挂载到系统下进行修改。由于这个文件给的剩余空间比较小,
直接修改的方式可能会报失败。这里的示例是将文件先复制出来,按需修改好文件系统以后再重新做一个 ext4 的打包文件。
\section{rootfs.img 修改}
\subsection{rootfs.img 修改}
可以按下面的步骤进行修改:
\begin{enumerate}[(1),nosep]
\item 将 rootfs.img 挂载到系统下,例如:

55
tex/resource.tex

@ -1,4 +1,4 @@
\chapter{资源分配}
\chapter{硬件接口}
\section{网络}
系统里有两个网口,一个是从 SOC 直出的,一个从 PCIE 接 RTL81111芯片出来的网口。他们的IP地址配置文件是 /etc/network/interfaces.d 下的
eth0 和 eth1。其对应关系如下表所示:
@ -15,3 +15,56 @@ eth0 和 eth1。其对应关系如下表所示:
\end{tabular}
\caption{网口对应关系}
\end{table}
\section{video}
从 HDMI 输入的视频数据,在 Linux 系统里从 /dev/videoX 的设备中获取出来。可以用 多媒体框架 gstreamer 来做测试。
用 gstreamer 的 gst-launch-1.0 可以用来控制 video 的视频数据。
这里以 板子上用 gstreamer 提供 rtp 服务,在电脑的 windows 端用 VLC 程序来实现视频的播放为例,展示一下 video 功能。
\begin{enumerate} [(1)]
\item 在板子上启动 rtp 服务:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! x264enc ! rtph264pay pt=96 \
! udpsink host=192.168.1.17 port=5000
\end{minted}
这里假定电脑的IP地址是:192.168.1.17。这根据实际情况修改。
\item 在电脑上新建一个 sdp 文件(hdmi.sdp)\footnote{ SDP 的完整定义,请查看 rfc4566},内容如下:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
m=video 5000 RTP/AVP 96
a=rtpmap:96 H264
a=framerate:30
c=IN IP4 192.168.1.17
\end{minted}
这里的 5000 是端口号, 192.168.1.17 是 IP 地址,要与上面命令中的参数保持一致。
\item 在电脑上用 VLC 程序打开 hdmi.sdp 文件。
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{vlc}
\caption{VLC 播放 video}
\end{figure}
\end{enumerate}
\begin{comment}
\begin{minted}[bgcolor=lightgray!30,fontsize=\tiny]{bash}
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1920,height=1080,framerate=30/1 \
! timeoverlay ! tee name=vsrc vsrc. ! queue ! videoconvert \
! ximagesink vsrc. ! queue ! x264enc tune=zerolatency \
! rtph264pay name=pay0 pt=96
\end{minted}
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! x264enc ! rtph264pay ! udpsink host=192.168.1.10 port=5000
在 windows 端用 vlc 打开 \verb+rtsp://<目标IP>:8554/test+ 可以拉取视频数据。
\noindent 发送端:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! x264enc ! rtph264pay ! udpsink host=127.0.0.1 port=5000
\end{minted}
接收端:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
gst-launch-1.0 -v udpsrc port=5000 ! rtpmp2tdepay ! decodebin ! autovideosink
\end{minted}
\end{comment}
Loading…
Cancel
Save