ffmpeg - 在 Gstreamer 上显示来自 udp 端口​​的 RTP 流数据包时出错

标签 ffmpeg gstreamer rtsp rtp live-streaming

我正在使用 VLC 将实时网络摄像头流式传输到 darwin 流媒体服务器。

然后尝试使用以下方法在 RTSP 客户端上播放此实时网络摄像头提要

GST_DEBUG=2 gst-launch -vvv playbin uri=rtsp://172.19.91.21/channel.sdp

一切正常。输出将出现在 gstreamer 窗口中。

我已经反射(reflect)了从 DSS 到 RTSP 客户端以及 udp_port 的所有数据包。但是当我尝试使用以下命令播放 RTP 流时

GST_DEBUG=2 gst-launch-0.10 -vvv udpsrc port=5000 multicast-iface="lo"multicast-group="172.19.91.20"buffer-size=1000000 caps="application/x-rtp, media=video, clock-速率=90000,编码名称=H264”做时间戳=假! rtph264depay!解码器!自动视频接收器

我收到以下错误

0:00:07.108734201 7874 0x89d2a90 错误 ffmpeg:0::引用不存在的 PPS
0:00:07.108803500 7874 0x89d2a90 错误 ffmpeg:0::引用不存在的 PPS 0
0:00:07.108824183 7874 0x89d2a90 错误 ffmpeg:0::decode_slice_header 错误
0:00:07.108840903 7874 0x89d2a90 错误 ffmpeg :0::无帧!
0:00:07.108859244 7874 0x89d2a90 WARN ffmpeg gstffmpegdec.c:2299:gst_ffmpegdec_frame: ffdec_h264: 解码错误 (len: -1, have_data: 0)


请指导我如何解决这个问题。

最佳答案

使用以下命令后工作正常:

GST_DEBUG=2 gst-launch-0.10 -v udpsrc port=5000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-参数集=(字符串)\"Z2QAHqzZQKA9sBEAAAMAAQAAAwAyjxYtlg\=\=\,aOvjyyLA\=\"' ! rtph264depay! ffdec_h264 ! xvimagesink 同步=false

关于ffmpeg - 在 Gstreamer 上显示来自 udp 端口​​的 RTP 流数据包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33212868/

相关文章:

java - Android ffmpeg concat 两个视频声音错误

unity-game-engine - 将 Unity RenderTexture 流式传输到 Gstreamer

ffmpeg - 尝试使用 ffmpeg 从 RTSP 相机获取帧时间戳

python - 通过子进程杀死 FFMPEG 命令

c++ - libav 生成具有极高帧速率的 MP4 文件

javascript - 谷歌云平台存储 JSON API 上传会破坏音频文件..?!怎么修?

ffmpeg - 使用 ffmpeg 从 gstreamer 读取流

video - 使用 GStreamer(不是 ffmpeg)将视频转换为图像序列

ios - RTSP 到 HTTP 分包转码的示例。西兰农

tcp - 强制 FFMPEG 在读取 RTSP 流时使用 TCP 协议(protocol)