从 apache2 HTTPS 服务器 (raspberry pi) 流式传输视频的简单方法是否已经进化?
Has a simple method of live streaming video from an apache2 HTTPS server (raspberry pi) evolved?
我是一个老笨蛋,正在尝试设置 raspberry pi 3 以将视频流式传输到 HTTPS 站点。经过与 raspbian strech、apache2 的激烈斗争并获得安全证书后,我设法在树莓派上托管了 HTTPS 域,但我无法让视频显示在我的本地网络之外。
我编辑了域中的索引页面以嵌入实时视频,这显示了当我从本地网络上的 windows PC 加载到 chrome 时的实时流,但是尽管页面从本地网络外部加载网络无视频显示。
网址是 https://rydepier.com
奇怪的是视频流在我的 WAN IP 的 8081 端口可用,任何人都可以观看。
没有一种简单的方法可以将其嵌入 HTML5 页面吗?
视频流来自通过 'motion' 服务连接到 pi 的 USB 摄像头,并且(据我所知)是 h264 编码的,没有 mp4 包装器
这是索引页面的代码(来自 HTML 新手的代码非常混乱)标记的 mp4 视频本地存储在 piHTML 文件中
<html>
<head>
<title>Number 4 Homepage </title>
<style>
body
{
margin: 20px;
padding: 0px;
}
img
{
width: 90%;
<!height: 50%;>
}
</style>
</head>
<body>
<h1>Greetings from Number 4</h1>
<p>Live view from the Mezanine Deck.</p>
<img style="-webkit-user-select: none;" src="http://192.168.1.10:8081/"> <h1>Solstice 2019.</h1>
<video width="640" height="480" controls>
<source src="vid2.MP4" type="video/mp4">
Your browser does not support the video tag.
</video>
</body>
您无法从外部访问视频的原因是您使用的访问方法是通过本地 IP 地址。无需详细说明,地址范围 192.168.0.0 – 192.168.255.255 中的本地地址(私有 IP)在该网络上将是唯一的,但 public 互联网上的人无法访问。这类似于我可以访问 C:\Users 目录中的文件的方式,但是如果我想让其他人可以访问它,我需要将它放在某个服务器上。
解决方案是您必须从 public IP 访问。您实际上可以将 192.168.1.10:8081 替换为 rydepier.com:8081,而不是手动查找。 DNS 会将域转换为其正确的 public IP 地址,视频将随处流式传输。
事实上,我知道这一点,因为我无法访问私有 IP 地址视频流,但我可以在 http://rydepier.com:8081
访问它
替换
<img style="-webkit-user-select: none;" src="http://192.168.1.10:8081/"> <h1>Solstice 2019.</h1>
与
<img style="-webkit-user-select: none;" src="http://rydepier.com:8081/"> <h1>Solstice 2019.</h1>
我是一个老笨蛋,正在尝试设置 raspberry pi 3 以将视频流式传输到 HTTPS 站点。经过与 raspbian strech、apache2 的激烈斗争并获得安全证书后,我设法在树莓派上托管了 HTTPS 域,但我无法让视频显示在我的本地网络之外。 我编辑了域中的索引页面以嵌入实时视频,这显示了当我从本地网络上的 windows PC 加载到 chrome 时的实时流,但是尽管页面从本地网络外部加载网络无视频显示。 网址是 https://rydepier.com 奇怪的是视频流在我的 WAN IP 的 8081 端口可用,任何人都可以观看。 没有一种简单的方法可以将其嵌入 HTML5 页面吗?
视频流来自通过 'motion' 服务连接到 pi 的 USB 摄像头,并且(据我所知)是 h264 编码的,没有 mp4 包装器
这是索引页面的代码(来自 HTML 新手的代码非常混乱)标记的 mp4 视频本地存储在 piHTML 文件中
<html>
<head>
<title>Number 4 Homepage </title>
<style>
body
{
margin: 20px;
padding: 0px;
}
img
{
width: 90%;
<!height: 50%;>
}
</style>
</head>
<body>
<h1>Greetings from Number 4</h1>
<p>Live view from the Mezanine Deck.</p>
<img style="-webkit-user-select: none;" src="http://192.168.1.10:8081/"> <h1>Solstice 2019.</h1>
<video width="640" height="480" controls>
<source src="vid2.MP4" type="video/mp4">
Your browser does not support the video tag.
</video>
</body>
您无法从外部访问视频的原因是您使用的访问方法是通过本地 IP 地址。无需详细说明,地址范围 192.168.0.0 – 192.168.255.255 中的本地地址(私有 IP)在该网络上将是唯一的,但 public 互联网上的人无法访问。这类似于我可以访问 C:\Users 目录中的文件的方式,但是如果我想让其他人可以访问它,我需要将它放在某个服务器上。
解决方案是您必须从 public IP 访问。您实际上可以将 192.168.1.10:8081 替换为 rydepier.com:8081,而不是手动查找。 DNS 会将域转换为其正确的 public IP 地址,视频将随处流式传输。
事实上,我知道这一点,因为我无法访问私有 IP 地址视频流,但我可以在 http://rydepier.com:8081
访问它替换
<img style="-webkit-user-select: none;" src="http://192.168.1.10:8081/"> <h1>Solstice 2019.</h1>
与
<img style="-webkit-user-select: none;" src="http://rydepier.com:8081/"> <h1>Solstice 2019.</h1>