动态公网IP 和 SRS
动态公网IP(Dynamic Public IP)是指由互联网服务提供商(ISP)分配给用户的动态IP地址,该地址是公共的,可以在公共互联网上访问。与静态公网IP不同,动态公网IP是临时分配的,并且在一段时间后可能会更改。这意味着每次重新连接到互联网时,用户可能会被分配一个新的动态公网IP地址。
动态公网IP通常用于个人用户或小型企业,因为它们相对便宜,而且不需要用户进行任何配置或管理。但是,由于其不稳定性和易变性,动态公网IP可能不适合需要稳定和持久的互联网连接的大型企业或组织。
联通的adsl用户可以打10010 叫客服打开“动态公网IP” + 路由器桥接。(缘由:需要动态公网ip做监控或者访问服务)
开启动态公网IP+路由器桥接以后,
路由器上拨号即可得到一个公网IP.
OpenWRT 路由器 设置端口映射, 即可将局域网内主机的端口 映射到公网IP的特定上。
题外话(弯路):(Padavan的系统,在端口映射是使用单独的工具(socat耗内存)来实现端口数据转发,OpenWrt的iptables更可靠,扎实稳定)
下面以mac电脑,架设SRS服务器 来:分享流媒体至互联网。
1. 安装SRS步骤(安装Docker.dmg后, 运行下面的指令)
SRS文档:https://ossrs.net/lts/zh-cn/docs/v4/doc/getting-started
首先要先把安装好的Docker启动,屏幕右上角会出现鲸鱼背楼的图标,确保其正在运行。 Steps to run docker: 1. cd /Users/abc/WebstormProjects/srs/srs/trunk 2. 运行:
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 ./objs/srs -c conf/docker.conf
3. 推流(循环读取音视频文件,进行推送) ffmpeg -re -stream_loop -1 -i './...' -c copy -f flv rtmp://localhost/live/livestream
备注:-stream_loop 中 -1 表示无限循环;0表示 不循环;适合于小文件
4. 播放观看 http://localhost:8080/players/srs_player.html
5. 外网映射 注意: 映射的时候不能使用8080端口, 建议使用60000以上的端口 (因isp防火墙已封锁这些特殊的端口)
建议使用frp,具体的配置方法可参考https://freefrp.net/docs,或后续的相关文字 ,运行命令:./frpc -c frpc.ini
2. 推流方案#2:使用obs推流
下载并安装 obs-studio-29.0.2-macos-arm64.dmg Obs 打开后右下角的设置 >直播 >服务选择自定义服务器为rtmp://localhost/live/, 推流码为1(可以是任意数字和字母,可理解为房间号) 添加内容(音频,视频)后,点击开始直播。
---------播放部分---------
最终得到的 播放地址为: http://localhost:60080/live/1.flv
工具可选用VLC或者网页形式http://localhost:8080/players/srs_player.html
经验:
使用ffmpeg3流远程m3u8媒体时,经常会容易断流或电脑休眠后会断流, 这时我们最好使用 obs 转播来源为window capture的方案。
20230419 Update
问题:那如果我仅仅需要修改镜像文件中的某个特定的html,我要怎么做? 如果您只需要修改镜像文件中的某个特定的 HTML 文件,可以通过以下步骤来实现: 1. 下载 SRS 镜像文件并创建容器。 docker run -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 2. 进入容器,并找到您需要修改的 HTML 文件所在的路径。 docker exec -it <CONTAINER_ID> /bin/bash cd /usr/local/srs/objs/nginx/html/ 3. 使用文本编辑器修改 HTML 文件。 vi index.html 保存修改并退出容器。 4. 使用 docker commit 命令将修改后的容器保存为新的镜像。 docker commit <CONTAINER_ID> <NEW_IMAGE_TAG> 5. [optional]将新的镜像推送到 Docker 镜像仓库中(如果需要)。 docker push <NEW_IMAGE_TAG> 6. 在部署 SRS 服务时,使用新的镜像标签来启动容器。 docker run -it -p 1935:1935 -p 1985:1985 -p 8080:8080 <NEW_IMAGE_TAG> 需要注意的是,这种方式只适用于修改镜像中的某个特定的文件。如果您需要对 SRS 的配置文件或者其他文件进行修改,建议使用 Dockerfile 来自定义 SRS 镜像。 ------------------------------------------------------------------------
问题:vi index.html. 提示错误:bash: vi: command not found。 我要怎么办? 如果在容器中执行 vi 命令时提示 command not found 错误,说明容器中没有安装 vi 编辑器。 您可以尝试使用其他文本编辑器来修改 HTML 文件,例如 nano 或者 emacs。这些编辑器通常已经包含在大多数 Linux 发行版中,也可以通过 apt-get 命令进行安装。 例如,您可以使用以下命令来安装 nano 编辑器: apt-get update && apt-get install -y nano 然后,使用 nano 命令来编辑 HTML 文件: nano /usr/local/srs/objs/nginx/html/index.html 编辑完毕后,使用 CTRL + X 快捷键保存修改并退出编辑器。
本文来自博客园,作者:CarlZeng,转载请注明原文链接:https://www.cnblogs.com/backuper/p/Dynamic_Public_IP.html
需求沟通链接 扫客服加群: