我有我的树莓皮3B流式视频到我的本地网络。在
我的问题是:我想从任何地方访问流,而现在我只能在连接到同一网络的情况下从浏览器观看。在
这是我使用的代码。在
class Streamer:
app = Flask(__name__, template_folder='../resources/templates')
stream = None
@staticmethod
@app.route('/')
def index():
return render_template('streaming.html')
@staticmethod
def gen():
while True:
frame = Camara.get_frame()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
@staticmethod
@app.route('/video_feed')
def video_feed():
return Response(Streamer.gen(),
mimetype='multipart/x-mixed-replace; boundary=frame')
@staticmethod
def start():
Camara.set_stream()
Streamer.stream = Process(target=Streamer.app.run, args=('0.0.0.0', 5000))
Streamer.stream.start()
@staticmethod
def shutdown():
if Streamer.stream:
Streamer.stream.terminate()
Streamer.stream.join()
Streamer.stream = None
return True
else:
return False
相机类
^{pr2}$html模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>YoloDoor Stream</title>
</head>
<body>
<img id="bg" src="{{ url_for('video_feed') }}">
</body>
</html>
我同意邦马特的观点。。如果您在网络之外,则需要将其添加到防火墙中。在
在本地网络上,如果转到http://192.168.1.1,则会转到路由器的管理页。从那里你可以设置一个规则来向外界公开这个应用程序/端口。 然后要访问它,你需要在浏览器中输入你房子的IP,然后通过这种方式访问它。在
另一种方法(如果您无法访问路由器管理页面)是使用Ngrok:https://ngrok.com/,它处理代理内容,并将通过http或https公开它。。在
一句警告。。暴露网络外部的端口会使您受到攻击。在你开始改变路由器的很多设置之前,一定要多做一点谷歌搜索。在
祝你好运!在
如果像
router model
,server (Apache/NginX/Node)
这样的信息,您将收到非常准确的信息。收集的信息只是RPi3和实现语言(与此问题无关)。在正如其他人所指出的,您正在寻找的解决方案是将您的本地端口公开给公众。在
假设您的流可以在本地网络上的
http://192.168.0.1:8080
访问。您需要为端口转发/虚拟服务器配置路由器。在你的目标是。。在
port 80
不同)公开给publicmycam.ddns.net:8080
工作是否需要DNS?
您的本地网络IP到外部世界(由您的路由器产生)间歇性更改。DNS允许今天使用
175.143.141.29
这样的奇怪的数字,明天就不同了(例如:mycam.ddns.net
)是否需要本地静态IP?
当您的DHCP被更新(路由器重新启动,不同的设备注销和登录),您的RPi今天使用的IP(例如:
192.168.0.1
)可能在下一次更新时192.168.0.9
。在静态IP允许将
192.168.0.1
保留给device MAC address (another form of network identity)
,因此在将来的更新中它总是指向同一个设备。在虽然较新的路由器更聪明地为这种设备保留这样的IP更长的时间。然而,没有ip DUC可以为您这样做,因为它告诉服务器它当前连接的ip。在
安全
如果你可以公开访问它,其他人也可以这样做。从常识出发。在
替代设置
由于各种设置可能性,请阅读有关端口转发/虚拟服务器的更多信息。
更多RPi设置示例:https://pimylifeup.com/raspberry-pi-port-forwarding/
相关问题 更多 >
编程相关推荐