当前位置: 首页 > wzjs >正文

网站备案需要网站建设完毕不优化服务公司

网站备案需要网站建设完毕不,优化服务公司,宁远做网站msoer,网站做链轮会被惩罚吗文章目录 RTMP服务器搭建与视频流推送第一部分:搭建RTMP服务器(流媒体服务器)1.1 安装Docker1.2 搭建RTMP服务器 第二部分:使用ffmpeg进行视频推流(推流客户端)2.1 安装ffmpeg2.2 使用ffmpeg推流 第三部分&…

文章目录

  • RTMP服务器搭建与视频流推送
    • 第一部分:搭建RTMP服务器(流媒体服务器)
      • 1.1 安装Docker
      • 1.2 搭建RTMP服务器
    • 第二部分:使用ffmpeg进行视频推流(推流客户端)
      • 2.1 安装ffmpeg
      • 2.2 使用ffmpeg推流
    • 第三部分:使用VLC播放RTMP流
      • 3.1 安装VLC
      • 3.2 使用VLC播放RTMP流
        • `-stream_loop`参数实现视频流重复播放
    • 总结

RTMP服务器搭建与视频流推送

在这篇文章中,我将详述如何搭建一个RTMP(Real-Time Messaging Protocol)服务器,并使用ffmpeg技术进行本地视频的推流。最后,我们将使用VLC播放器来播放这个RTMP流。

第一部分:搭建RTMP服务器(流媒体服务器)

首先,我们需要搭建一个RTMP服务器。为了方便起见,我们将选择Docker作为服务器的环境。Docker的轻量化和可移植性使得它成为构建和部署应用的理想选择。

1.1 安装Docker

安装Docker的步骤会根据操作系统的不同而变化。下面是在Ubuntu上安装Docker的命令:

sudo apt-get update
sudo apt-get install docker.io

如果你使用的是其他操作系统,请参照Docker的官方文档进行安装。

1.2 搭建RTMP服务器

我们将使用开源项目nginx-rtmp-docker来搭建RTMP服务器。首先,克隆该项目到你的本地目录:

git clone https://github.com/tiangolo/nginx-rtmp-docker.git
cd nginx-rtmp-docker

在这里插入图片描述
我克隆不了,我直接上页面上把代码下载下来了:

在这里插入图片描述

在这里插入图片描述

然后,使用Docker运行服务器:

docker run -d -p 1935:1935 --name=nginx-rtmp tiangolo/nginx-rtmp

在这里插入图片描述
在这里插入图片描述

此时,你已经成功地在本地启动了一个RTMP服务器,它监听在1935端口。

注意:
实际上我们并未用到上面git clone https://github.com/tiangolo/nginx-rtmp-docker.git下载的文件,我们用的是镜像tiangolo/nginx-rtmp中默认的nginx.conf,如果要自定义nginx内容,可以编辑nginx.conf,然后将这个文件在创建容器时挂载进去。不懂的可以参考项目主页。

第二部分:使用ffmpeg进行视频推流(推流客户端)

接下来,我们将使用ffmpeg对视频进行推流。ffmpeg是一款强大的多媒体处理工具,支持几乎所有的音视频格式。

2.1 安装ffmpeg

在Ubuntu上,你可以使用下面的命令安装ffmpeg:

sudo apt-get update
sudo apt-get install ffmpeg

如果你使用的是其他操作系统,请参照ffmpeg的官方文档进行安装。

2.2 使用ffmpeg推流

首先,你需要有一个视频文件用于推流。然后,使用以下命令进行推流:

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream

这里,“input.mp4”是你的视频文件,“rtmp://localhost/live/stream”是你的RTMP服务器地址。

在这个例子中,ffmpeg是用于将视频文件推送(stream)到我们建立的RTMP服务器。而这个RTMP服务器就是通过Docker运行的nginx-rtmp容器提供的。

docker run -d -p 1935:1935 --name=nginx-rtmp tiangolo/nginx-rtmp命令启动了一个名为"nginx-rtmp"的容器,它监听主机的1935端口。

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream命令将名为"input.mp4"的视频文件转换成流,然后推送到"rtmp://localhost/live/stream"。其中"localhost"指的是本地主机,即RTMP服务器所在的主机。“1935"是RTMP协议默认的端口号,如果没有特别指定,就会使用这个端口。”/live/stream"是推流的路径和名称,你可以根据需要自定义。

所以,在URL上看,ffmpeg推流到"rtmp://localhost/live/stream"实际上就是推流到了我们通过Docker启动的nginx-rtmp容器的1935端口。

简单来说,ffmpeg是推流客户端,而nginx-rtmp容器是流媒体服务器,二者之间通过RTMP协议进行通信。

因为我的流媒体服务器(nginx-rtmp)和ffmpeg推流客户端是在我的ubuntu虚拟机(192.168.121.50)上运行,我希望我的windows电脑能够用VLC播放我的RTMP流,所以我执行以下命令:

ffmpeg -re -i forest4kTest.mp4 -c copy -f flv rtmp://192.168.121.50/live/stream

在这里插入图片描述

注意:
因为RTMP协议通常使用FLV容器格式进行流媒体传输,所以-f选项后应该是flv而不是mp4

第三部分:使用VLC播放RTMP流

VLC是一款开源的跨平台多媒体播放器,它可以播放几乎所有的媒体文件,也可以播放网络流。

3.1 安装VLC

在Ubuntu上,你可以使用下面的命令安装VLC:

sudo apt-get update
sudo apt-get install vlc

如果你使用的是其他操作系统,请参照VLC的官方文档进行安装。

Windows直接到VLC官网下载安装包安装即可。

在这里插入图片描述

3.2 使用VLC播放RTMP流

打开VLC,然后在“媒体”菜单下选择“打开网络串流”。在弹出的对话框中,输入你的RTMP服务器地址,比如"rtmp://localhost/live/stream",然后点击“播放”。

我在我的windows上用VLC打开视频流地址:rtmp://192.168.121.50/live/stream

在这里插入图片描述

在这里插入图片描述

可以看到视频流能被正常播放出来。

我的测试视频文件,需要的话可从此处下载。

-stream_loop参数实现视频流重复播放

注意:
如果发现在ffmpeg命令运行结束后就无法用VLC播放rtmp://192.168.121.50/live/stream了,解决这个问题的一个方法是保持ffmpeg持续运行以提供实时流。如果你想要流源(如视频文件)在播放完毕后自动重复播放,可以添加-stream_loop选项来使ffmpeg循环播放视频:

ffmpeg -re -stream_loop -1 -i forest4kTest.mp4 -c copy -f flv rtmp://192.168.121.50/live/stream

其中-stream_loop -1表示无限循环播放输入的视频。

总结

本文详细介绍了如何搭建一个RTMP服务器,如何使用ffmpeg进行视频推流,以及如何使用VLC播放RTMP流。希望这些信息能够帮助你快速地实现视频推流和播放。

http://www.dtcms.com/wzjs/815650.html

相关文章:

  • 美食网站建设规划书网站建设加微信
  • 做旅游海报的软件或是网站wordpress博客站模板下载
  • 做网站开发哪里好小米手机网站架构
  • 微信 免费 网站中英文网站域名的区别
  • 网站搜索引擎优化是什么wordpress菜单下拉菜单
  • 建立com网站兰州网络推广范文
  • 织梦 安装网站顺德 网站开发 招聘
  • 楚雄做网站的公司wordpress主题合并
  • 个人网站用什么域名中山seo外包
  • 正能量erp软件下载网站设计网站定制公司
  • 做kegg通路富集的网站vs2010网站开发教程
  • 精品课程网站设计与实现英文搜索网站
  • 妇产科网站建设网易企业邮箱过期了
  • 网站开发算是研发支出吗自动化网站建设
  • 山东济南网站制作wordpress微博头条高级写入
  • html如何做网站网站建设基本步骤是什么
  • xuzhou网站制作深圳酒店vi设计公司
  • 网站前台乱码网站建设一般多少钱新闻
  • 在屈臣氏做网站运营dw个人简历网页制作代码
  • 建设网站出什么科目wordpress文本组件使用方法
  • 深圳网站设计制作建设北京房山idc机房
  • 温州建网站哪家好免费商城建站平台
  • 网站建设内容策划wordpress内页不收录
  • asp.net网站开发项目化教程用文件传输协议登录网站
  • 栗田工业大连有效公司网站哪年做的广州百度seo排名
  • 做网站的app施工企业管理制度
  • 合肥环保公司网站建设昆明seo代理商
  • 保亭交通工程建设局网站杭州网站建设 网络服务
  • 邵阳市建设投资经营集团网站信息查询网
  • 如何免费创建网站平台上海公司拍沪牌需要什么条件