win10调摄像头推rtsp流到局域网

win10调摄像头推rtsp流到局域网
https://zhuanlan.zhihu.com/p/566623856

ffmpeg -f dshow -i video="HP Wide Vision HD Camera" -vcodec libx264 -pix_fmt nv12 -s 1280x720 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test

路由器要打开DMZ主机模式,这样所有端口都会被映射,此时ip为路由器ip
用py打开rtsp,vlc老是报错

import cv2

# RTSP视频流地址
rtsp_url = "rtsp://172.16.10.145/test"

# 创建视频捕获对象
cap = cv2.VideoCapture(rtsp_url)

if not cap.isOpened():
    print("无法打开视频流")
    exit()

# 循环读取和显示视频帧
while True:
    ret, frame = cap.read()
    if not ret:
        print("无法接收视频帧(流结束?)")
        break

    # 显示视频帧
    cv2.imshow('RTSP', frame)

    # 按下Q键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放视频捕获对象并关闭所有窗口
cap.release()
cv2.destroyAllWindows()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的示例代码,可以使用NVIDIA Jetson平台上的GStreamer库打开摄像头,并将其转换为RTSP流。这个示例代码假设您使用的是Jetson Nano平台。 ```python import gi gi.require_version('Gst', '1.0') from gi.repository import GObject, Gst import sys # 初始化Gst Gst.init(None) # 创建Gst管道 pipeline = Gst.Pipeline() # 创建Gst元素 camsrc = Gst.ElementFactory.make('nvarguscamerasrc', 'camsrc') caps = Gst.ElementFactory.make('capsfilter', 'caps') caps.set_property('caps', Gst.Caps.from_string('video/x-raw(memory:NVMM), width=1920, height=1080, framerate=30/1, format=NV12')) queue = Gst.ElementFactory.make('queue', 'queue') nvvidconv = Gst.ElementFactory.make('nvvidconv', 'nvvidconv') capsfilter = Gst.ElementFactory.make('capsfilter', 'capsfilter') capsfilter.set_property('caps', Gst.Caps.from_string('video/x-raw, width=1920, height=1080, framerate=30/1')) x264enc = Gst.ElementFactory.make('nvv4l2h264enc', 'x264enc') rtph264pay = Gst.ElementFactory.make('rtph264pay', 'rtph264pay') udpsink = Gst.ElementFactory.make('udpsink', 'udpsink') # 设置元素属性 udpsink.set_property('host', '127.0.0.1') udpsink.set_property('port', 5000) # 将元素添加到管道中 pipeline.add(camsrc) pipeline.add(caps) pipeline.add(queue) pipeline.add(nvvidconv) pipeline.add(capsfilter) pipeline.add(x264enc) pipeline.add(rtph264pay) pipeline.add(udpsink) # 连接元素 camsrc.link(caps) caps.link(queue) queue.link(nvvidconv) nvvidconv.link(capsfilter) capsfilter.link(x264enc) x264enc.link(rtph264pay) rtph264pay.link(udpsink) # 启动管道 pipeline.set_state(Gst.State.PLAYING) # 运行 try: while True: pass except KeyboardInterrupt: # 捕获键盘中断信号,停止管道 pipeline.set_state(Gst.State.NULL) ``` 这个代码将打开Jetson Nano上的CSI摄像头,并将其转换为H.264格式的RTSP流,该流可以通过UDP在本地主机上的端口5000上进行传输。请注意,您可能需要根据您的环境整代码中的一些参数,例如视频的分辨率、帧率、格式、传输协议等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值