Video 通过Gstreamer的视频流
我尝试使用服务器上的命令检查Windows OS计算机上的视频rtp流: gst-launch-1.0 filesrc location=d:/TestVideos/lama.mp4!qtdemux!视频/x-h264!RTPH264支付!udpsink主机=192.168.1.162端口=6001 然后我试着去捕捉小溪: gst-launch-1.0-v udpsrc port=6001 caps=“应用程序/x-rtp,媒体=(字符串)视频,时钟速率=(int)90000,编码名称=(字符串)H264,有效负载=(int)96”!rtph264depay!德克宾!视频转换!自动视频接收器 我在控制台中看到这样的画面: 就这些。视频结束时,服务器窗口自动关闭 但是如果尝试使用testvideosrc,一切都会很好 服务器端: gst-launch-1.0-v videotestsrc!视频/x-raw,帧速率=20/1!电子秤!视频转换!x264enc tune=零延迟比特率=500速度预设=超快!RTPH264支付!udpsink主机=192.168.1.162端口=6001 客户端: gst-launch-1.0-v udpsrc port=6001 caps=“应用程序/x-rtp,媒体=(字符串)视频,时钟速率=(int)90000,编码名称=(字符串)H264,有效负载=(int)96”!rtph264depay!德克宾!视频转换!自动视频接收器 不幸的是我找不到错误。。。如果有人能帮忙找到它,那就太好了。谢谢。也试试这个:Video 通过Gstreamer的视频流,video,video-streaming,gstreamer,gstreamer-1.0,Video,Video Streaming,Gstreamer,Gstreamer 1.0,我尝试使用服务器上的命令检查Windows OS计算机上的视频rtp流: gst-launch-1.0 filesrc location=d:/TestVideos/lama.mp4!qtdemux!视频/x-h264!RTPH264支付!udpsink主机=192.168.1.162端口=6001 然后我试着去捕捉小溪: gst-launch-1.0-v udpsrc port=6001 caps=“应用程序/x-rtp,媒体=(字符串)视频,时钟速率=(int)90000,编码名称=(字符串
gst-launch-1.0 filesrc location = d:/TestVideos/lama.mp4 ! qtdemux ! video/x-h264 ! h264parse !rtph264pay ! udpsink host=192.168.1.162 port=6001
在接收端
gst-launch-1.0 -v udpsrc port=6001 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
以下是我在单板计算机上的命令-飞思卡尔imx6(供参考)
我在无头系统上也遇到过这样的问题。尝试使用
glimagesink
或ximagesink
。非常感谢!它起作用了!!如果我没弄错的话,这是通过udp的rtp协议?这不是今天的legasy技术吗?也许我应该尝试使用http协议?如何缓冲视频流gstreamer对此有何选择?再次感谢你!如果答案解决了问题,就接受它。至于其他问题,我不确定我是否理解你之前的评论,你必须更详细。是的,在我的例子中,它是UDP上的RTP,因为我是通过无线网络从客户端流到源的。你说的缓冲是指平滑的视频吗?您可以使用元素queue
来实现这一点。
gst-launch-1.0 –gst-debug=0 imxv4l2videosrc device=/dev/video1 fps-n=30 capture-mode=4 ! imxvpuenc_h264 bitrate=1000
! h264parse ! rtph264pay ! udpsink host=192.168.11.11 port=5001
gst-launch-1.0 –gst-debug=0 udpsrc port=5001 ! $CAPS ! rtph264depay ! h264parse ! avdec_h264 !
autovideosink sync=true