net视频点播网站源码分享()

大家好,今天来为大家分享net视频点播网站源码分享的一些知识点,和的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

最近工作上有个需求,要实现监控摄像头的视频在浏览器中进行点播播放,之前没接触过这方面的技术,在网上研究了一段时间,相关的实现方案有很多,相对来说搭建比较简单同时又不需要购买付费功能的方案是基于FFmpeg和nginx的flv实现方式,总结了一下相关的实现步骤,有需要的同学可以拿去。

一、安装ffmpeg

首先需要安装ffmpeg,ffmpeg是开源的音视频处理软件,功能强大,也很稳定,既能实现视频的编解码进行格式转换,也能进行视频流的推送和拉取,同时支持rtsp、rtmp、hls等多种协议。

ffmpeg的下载地址如下:

http://ffmpeg.org/download.html

我选择的版本是4.4,大家可以根据需要自己选择合适的版本,注意下载的是ffmpeg的源码,后面要根据不同的平台进行编译安装。

ffmpeg下载页面

在编译ffmpeg之前需要安装第三方库yasm,下载地址如下:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

将安装包上传服务器,按照如下步骤进行yasm的安装。

tarzxvfyasm-1.3.0.tar.gz

cdyasm-1.3.0

./configure

make

makeinstall

yasm安装完后,再通过yum安装gcc编译器。

yuminstallgcc

gcc编译器安装完成之后就可以编译ffmpeg,并进行安装了。

tarzxvfffmpeg-4.4.tar.gz

cdffmpeg-4.4

./configure–enable-shared–prefix=/usr/local/ffmpeg

make

makeinstall

ffmpeg安装完后,需要修改配置文件,引入相关的类库。

vi/etc/ld.so.conf

输入以下内容

includeld.so.conf.d/*.conf

/usr/local/ffmpeg/lib/

执行如下命令,使设置生效:

ldconfig

查看下ffmpeg版本,是否是预期的版本。

/usr/local/ffmpeg/bin/ffmpeg-version

查看ffmpeg版本

二、安装nginx

注意这里使用的nginx需要在原始nginx的基础上增加编译nginx-http-flv-module模块。nginx-http-flv-module是github上开源的项目。

github项目地址:https://github.com/winshining/nginx-http-flv-module

分别下载Nginx(http://nginx.org/en/download.html)和nginx-http-flv-module源码,进行编译安装。我使用的nginx版本是1.18.0,编译命令中–prefix参数执行nginx安装路径,–add-module参数指定nginx-http-flv-module源码路径。

cdnginx-1.18.0/

./configure–prefix=/usr/local/nginx-media–with-http_gzip_static_module–with-http_stub_status_module–with-http_ssl_module–add-module=../nginx-http-flv-module-1.2.9

make

makeinstall

安装完成之后,修改nginx配置文件/usr/local/nginx-media/conf/nginx.conf,配置流媒体服务器。配置可以参考https://github.com/winshining/nginx-http-flv-module主页的说明样例。

三、启动推流

nginx配置完成之后,就可以使用ffmpeg从摄像头中拉取原始rtsp视频流,转换为trmp视频流,并推送到nginx服务器中,由nginx服务器对外提供flv格式的视频流。

可以通过如下命令启动推流。-i参数执行原始rtsp视频流地址,需要包含认证信息。rtmp协议地址是在nginx中配置的服务器地址。

/usr/local/ffmpeg/bin/ffmpeg-irtsp://username:password@rtsp视频流地址-vcodeccopy-acodeccopy-fflvrtmp://nginx服务器IP/myapp/s1

四、前端通过flv.js播放视频流

flv.js也是一个github上的开源项目,项目地址:https://github.com/Bilibili/flv.js/

在前端项目中引入flv.js包,在页面代码中通过flvPlayer播放视频流。url是通过nginx提供的flv的视频流地址,http://nginx地址:端口/live?port=1935&app=myapp&stream=s1

<scriptsrc=&34;></script>\n<videoid=&34;></video>\n<script>\nif(flvjs.isSupported()){\nvarvideoElement=document.getElementById(&39;);\nvarflvPlayer=flvjs.createPlayer({\ntype:&39;,\nurl:&39;\n});\nflvPlayer.attachMediaElement(videoElement);\nflvPlayer.load();\nflvPlayer.play();\n}\n</script>

至此,免费的流媒体服务已经搭建好了,有需要的同学可以尝试一下,本人亲自测试可用。

关于本次net视频点播网站源码分享和的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

站内搜索