当前位置: 首页 > 知识库问答 >
问题:

用Gstreamer播放RTSP流时出现问题

纪翰
2023-03-14

硬件和软件:Raspberry PI4,IP camera,Raspbian Buster,Gstreamer 1.14.1(来自存储库)。覆盆子和摄像机都在本地网络上。

gst-launch-1.0 rtspsrc location='rtsp://web_camera_ip' ! rtph264depay ! h264parse ! v4l2h264dec ! autovideosink
0:00:00.681624278  1491 0xb4810980 FIXME                default gstutils.c:3981:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Progress of execution: (request) Sent PLAY request
0:00:01.155264612  1491 0xb1507fb0 WARN                    v4l2 gstv4l2object.c:4186:gst_v4l2_object_probe_caps:<v4l2h264dec0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: An inadmissible argument
0:00:01.166871436  1491 0xb1507fb0 WARN                    v4l2 gstv4l2object.c:4186:gst_v4l2_object_probe_caps:<v4l2h264dec0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: An inadmissible argument
0:00:01.170107746  1491 0xb1507fb0 FIXME               basesink gstbasesink.c:3145:gst_base_sink_default_event:<autovideosink0-actual-sink-xvimage> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:01.174576265  1491 0xb1507fb0 WARN            v4l2videodec gstv4l2videodec.c:808:gst_v4l2_video_dec_decide_allocation:<v4l2h264dec0> Duration invalid, not setting latency
0:00:01.211967620  1491 0xb48105b0 WARN          v4l2bufferpool gstv4l2bufferpool.c:1189:gst_v4l2_buffer_pool_dqbuf:<v4l2h264dec0:pool:src> Driver should never set v4l2_buffer.field to ANY
0:00:13.102438914  1491 0xb48105b0 WARN           v4l2allocator gstv4l2allocator.c:1349:gst_v4l2_allocator_dqbuf:<v4l2h264dec0:pool:src:allocator> V4L2 provided buffer has bytesused 0 which is too small to include data_offset 0
    null
gst-launch-1.0 rtspsrc location='rtsp://web_camera_ip' ! rtph264depay ! h264parse ! fakesink

其他信息:

>

  • 我的相机在图像上方显示时间(时、分、秒)。回放总是在秒的某个值停止。相机重启时,这个数值随机变化--17、32、55……改变相机中的时间并不能解决问题。

    Raspberry上的VLC播放器从该相机播放流,没有任何问题

    在使用Raspbian Stretch和来自repository的GStreamer1.10的Raspberry3上,没有任何问题。

    谢谢你的回答!

  • 共有1个答案

    齐阎宝
    2023-03-14

    问题出在我的本地网络上。来自任何设备的RTSP流会定期中断一秒钟。当使用VLC播放器时,它是不可见的,因为它会立即重新启动广播。在这种情况下,Gstreamer中断stream并生成错误消息。

    我已经把我的IP摄像机直接连接到Raspberry通过以太网,一切正常。在互联网上的广播也是稳定的。

     类似资料:
    • 我想使用gstreamer进行网络传输。目的是启动视频内容(从发射机)并在接收机端播放。我编写了一个用于对网络内容进行流式传输的示例测试代码。 在发射机侧:GST\u DEBUG=“*:2”GST-launch-1.0 videotestsrc!视频/x-raw!jpegenc!rtpjpegpay!udpsink主机=127.0.0.1端口=5001 在接收器端:GST\u DEBUG=“*:2

    • 对于在接收器端播放视频,我们可以使用 gst-Launst-0.10-v rtspsrc位置=rtsp://172.16.6.210:8554/test!解码器!自动视频链接 但是,如何通过gstream er中的rtsp和rtp在接收器端通过网络播放音频流?

    • 我在带有的游戏中播放音效(WAV文件)。但是,有2秒的效果并没有完全播放,只是其中的一部分。如果我添加,那么声音会正确播放多次,即整个2秒。出了什么问题,如何修复?

    • 以下是在视频框中播放2个mp4视频的代码。 gst-launch-1.0 filesrc location=1。mp4!decodebin!队列视频转换!视频框边框alpha=0右=-100!videomixer name=混音!视频转换!autovideosink文件rc位置=2。mp4!decodebin!队列视频转换!视频框边框alpha=0左=-100!混合 我已尝试使用此代码播放3个视频

    • 我需要将4个RTSP流记录到Kinesis视频流的单个流中。流必须像这样放置在视频中: 我可以使用下面的命令插入一个流并使其完美地工作: 然而,我的目标是在Kinesis视频流中的同一流中插入一组流。为此,我找到了的示例,如下所示: 我将该示例修改为两个流,并使用如下命令使其在容器中工作: 然而,当我登录到Kinesis视频流并尝试下载getClip时,在这两种情况下我都得到了这个错误: Miss