Mat*_*cco 0 video rtsp gstreamer
我对Gstreamer来说还很陌生。
我需要编写一个视频客户端,该客户端能够使用GStreamer从RTSP源流式传输数据。我将VLC配置为使用RTSP流式传输笔记本电脑上的视频,并且我想创建一个管道来获取并显示该流。我尝试使用playbin,一切正常。关键是我需要微调用于流式传输视频的延迟,但是似乎我无法使用playbin做到这一点。
我尝试过,rtspsrc因为它可以处理延迟,但是我不知道如何在任何窗口上显示视频。那就是我创建的管道:
gst-launch-1.0 rtspsrc location=rtsp://localhost:8554/test latency=300 ! decodebin ! autovideosink
Run Code Online (Sandbox Code Playgroud)
我收到错误“流任务已暂停,原因未协商(-4)”。
在深入浏览互联网后,我尝试了不同的管道,但我肯定会错过一些东西。如何编写gstreamer管道以显示来自RTSP的视频?
最终目标是拥有至少可以在延迟方面可调的管道,因此我有两种选择:
我使用的是Xubuntu 16.04,gstreamer-tools-1.0(也使用了0.10),我通过VLC流式传输的视频具有mp4扩展名。
小智 5
您可以通过设置正确的属性并使用playbin组件来调整延迟:
gst-launch-1.0 -v playbin uri=rtsp://localhost:8554/test uridecodebin0::source::latency=300
Run Code Online (Sandbox Code Playgroud)
希望你觉得这个有用 :)
小智 5
假设 rtsp 流是 h264 格式,使用显式 h264 解码器和编码器来解析流。使用 videoconvert 和 videoscale 更改帧形状。
gst-launch-1.0 rtspsrc location=rtsp://localhost:8554/test latency=100 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9961 次 |
| 最近记录: |