gpt4 book ai didi

linux - 带有 CAM8200-U 的两个 RIoT 板之间通过 UDP 的 Gstreamer

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:38 25 4
gpt4 key购买 nike

我正在尝试使用 gst-launch 来捕获视频、流式传输并将其保存在第二 block 板上。然后我想通过在 PC 上播放视频文件来验证流是否良好。

CAM8200-U -> RIoT_1------Stream_Ethernet-----RIoT_2 - 在 RIoT_2 上保存文件。

两 block 开发板都在运行 Linux Yocto v3.10.17

首先,我遵循了本教程(我使用的是 gst-launch-0.10 而不是 1.0,因为那是板上的版本):http://www.z25.org/static/rd/videostreaming_intro_plab/

发件人:

gst-launch-0.10 videotestsrc ! jpegenc! rtpjpeg支付! udpsink 主机=127.0.0.1 端口=5200

接收者:

gst-launch-0.10 udpsrc port=5200 !应用程序/x-rtp,编码名称=JPEG,有效载荷=26! rtpjpegdepay ! jpeg解码器!自动视频接收器

此示例在板上完美运行!不是真正使用相机,但仍然是一个很好的起点。但是,如果我将 autovideosink 更改为 filesink location=xxx.format (.mp4 .mkv .avi),则文件无法播放。

问题一:你知道如何把这个流保存到一个文件中,以后可以播放吗?

经过一番搜索后,我能够使用以下行流式传输和保存 videotestsrc:

发件人:

gst-launch-0.10 videotestsrc ! ffmpeg 色彩空间! jpegenc! udpsink 主机=192.168.1.103 端口=5200

接收者:

gst-launch-0.10 udpsrc port=5200 ! jpeg解码器! ffmpeg 色彩空间!阿 Vim 克斯! filesink location=/home/root/movie.avi

但是,将 videotestsrc 更改为 v4l2src device=/dev/video0 会得到一个空文件。

问题 2:您是否知道为什么它适用于 videotestsrc 而不适用于相机?

然后我在YouTube上找到了element14给出的这个例子:https://www.youtube.com/watch?v=mRbckLppmKs我可以用它从相机获取视频并保存。这是一行:

gst-launch-0.10 v4l2src device=/dev/video0 num-buffers=-1 ! 'video/x-raw-yuv,width=1024,height=768' !队列 ! ffmpeg 色彩空间! vpuenc 编解码器=0! matroskamux ! filesink location=output.mkv sync=false

我尝试了多种方法来将这条线传输到另一端并保存,但都没有成功。

问题 3:您知道我可以流式传输和保存来自该摄像头的视频的正确方法吗?

最佳答案

要使用 v4l2src 捕获相机,您必须为其提供正确的设备。
您可能在这里使用了错误的设备。 CAM8200-U是USB摄像头,所以不太可能是/dev/video0

对于 USB 相机,了解其设备的最简单方法是拔下并重新插入。新出现的(通常是最后一个)视频设备是您的相机设备。假设设备是/dev/video10,你录制文件的命令是

gst-launch-0.10 v4l2src device=/dev/video10 num-buffers=-1 ! 'video/x-raw-yuv,width=1024,height=768' !队列 ! ffmpeg 色彩空间! vpuenc 编解码器=0! matroskamux !文件接收器位置=输出.mkv

(记得查看相机手册以确认是否支持1024x768分辨率)

发送流的命令是

gst-launch-0.10 v4l2src device=/dev/video10 num-buffers=-1 ! 'video/x-raw-yuv,width=1024,height=768' !队列 ! ffmpeg 色彩空间! jpegenc! udpsink 主机=192.168.1.103 端口=5200

关于linux - 带有 CAM8200-U 的两个 RIoT 板之间通过 UDP 的 Gstreamer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35582807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com