域名已变更 请手动修改文章中域名指向carlzeng.com

动态公网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 快捷键保存修改并退出编辑器。

 

posted @ 2023-04-13 17:36  CarlZeng  阅读(578)  评论(0编辑  收藏  举报
域名已变更 请手动修改文章中域名指向carlzeng.com