您的位置:首页 > 新闻 > 热点要闻 > 今日热点新闻事件摘抄_室内设计师官网_seo搜索引擎优化内容_做一个网站需要什么

今日热点新闻事件摘抄_室内设计师官网_seo搜索引擎优化内容_做一个网站需要什么

2025/2/24 23:51:43 来源:https://blog.csdn.net/a2272062968/article/details/145755749  浏览:    关键词:今日热点新闻事件摘抄_室内设计师官网_seo搜索引擎优化内容_做一个网站需要什么
今日热点新闻事件摘抄_室内设计师官网_seo搜索引擎优化内容_做一个网站需要什么

参考文章:

https://blog.csdn.net/whatareyouding/article/details/144317654
https://www.cnblogs.com/Gredae/p/18362900
https://www.cnblogs.com/kn-zheng/p/17422707.html
https://blog.51cto.com/u_16099344/10281495
https://www.tulingxueyuan.cn/tlzx/jsp/2198.html
https://blog.csdn.net/wzt001005/article/details/145032455

搭建Nginx

1、下载包到/usr/local位置
wget或者手动下载,注意做好版本映射支持关系

nginx-1.24.0.tar.gz
nginx-http-flv-module-1.2.9.tar.gz

2、解压下载的两个文件:
tar -zxvf 文件名
在这里插入图片描述
3、安装所需依赖
RHEL

yum -y install gcc gcc-c++ openssl openssl-devel zlib zlib-devel pcre pcre-devel

Ubuntu

sudo apt update
sudo apt install -y gcc g++ libssl-dev zlib1g-dev libpcre3 libpcre3-dev

4、配置编译项
进入目录/usr/local/nginx-1.24.0
如有error检查路径

./configure --prefix=/usr/local/nginx  --add-module=/usr/local/nginx-http-flv-module-1.2.9

5、安装
如有error检查缺少的依赖,根据提示安装

make
sudo make install

6、验证安装
/usr/local/nginx/sbin/nginx -V
如果在输出中未看到 --add-module 参数,可能表示模块未成功编译进 Nginx

[root@iZf4o05j05ne6r1jkkogkpZ local]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.24.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 3.0.8 7 Feb 2023
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/nginx-http-flv-module-1.2.9
[root@iZf4o05j05ne6r1jkkogkpZ local]# 

配置Nginx

修改/usr/local/nginx/conf/nginx.conf
配置rtmp,服务端口,live路径等


#user  nobody;
worker_processes  1;events {worker_connections  1024;
}rtmp {server {listen 1935;chunk_size 4096;application live {live on;record off;}}
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       8099;server_name  localhost;location / {root   html;index  index.html index.htm;}location /live {flv_live on;chunked_transfer_encoding on;add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Headers' 'X-Requested-With';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Cache-Control' 'no-cache';}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}}

安装ffmpeg

Ubuntu/Debian

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

CentOS/RHEL

sudo yum install ffmpeg ffmpeg-devel
ffmpeg -version

RTMP转http-flv视频流

已知我的视频流:rtsp://10.21.37.252:554/rtp/0501001305
输入命令ffmpeg -i "rtsp://10.21.37.252:554/rtp/0501001305" -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1:1935/live/0501001305"
然后浏览器访问http://127.0.0.1:8081/live?port=1935&app=live&stream=0501001305
就可以看到视频可以播放了,或者vlc访问测试
这个地址可以直接嵌入浏览器播放:http://127.0.0.1:8081/live?port=1935&app=live&stream=0501001305

如果对画质等视频参数进行调整可以研究下ffmpeg

java调用

得到outUrl地址为http-flv地址

		String rtspUrl = "rtsp://10.21.37.252:554/rtp/0501001305";String outUrl = null;// 如果流地址不为空,进行转码:if (rtspUrl != null) {try {LOGGER.info("===准备转流===:{}", rtspUrl);String[] parts = rtspUrl.split("/");String channelCode = parts[parts.length - 1];String rtmpUrl = "rtmp://127.0.0.1:1935/live/" + channelCode;// 创建 ffmpeg 命令String[] command = {"ffmpeg","-i", rtspUrl,"-vcodec", "copy","-acodec", "copy","-f", "flv","-fflags", "+genpts",   // 生成新的时间戳,可能有助于解决时间戳无效或不连续的问题rtmpUrl};// 创建 ProcessBuilderProcessBuilder processBuilder = new ProcessBuilder(command);// 启动进程Process process = processBuilder.start();// 创建一个线程来处理进程输出new Thread(() -> {try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {String line;while ((line = reader.readLine()) != null) {LOGGER.info("FFmpeg Output: {}", line);}} catch (IOException e) {LOGGER.error("Error reading ffmpeg output: {}", e.getMessage());}}).start();// 创建一个线程来处理进程错误流new Thread(() -> {try (BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) {String line;while ((line = errorReader.readLine()) != null) {LOGGER.error("FFmpeg Error: {}", line);}} catch (IOException e) {LOGGER.error("Error reading ffmpeg error stream: {}", e.getMessage());}}).start();outUrl = "http://127.0.0.1:8081/live?port=1935&app=live&stream=" + channelCode;} catch (Exception e) {e.printStackTrace();LOGGER.error(e.toString());}

前端vue播放

样式根据需要调整

      <div id="video_Player" class="video_mian video_mian_bg"><videoid="mmiid"class="video-js vjs-big-play-centered vjs-fluid"controlspreload="auto"width="100%"height="100%"></video></div>
import Videojs from 'video.js'
import 'video.js/dist/video-js.css'
import "videojs-flvjs-es6";startLive(this.send).then((res) => {console.log(res)	// 得到http-flv地址this.videoPlayer = Videojs(document.querySelector('#mmiid'), {autoplay: 'muted',//自动播放controls: true,//用户可以与之交互的控件loop: true,//视频一结束就重新开始muted: false,//默认情况下将使所有音频静音aspectRatio: "16:9",//显示比率fullscreen: {options: {navigationUI: 'hide'}},techOrder: ["html5", "flvjs"],// 兼容顺序flvjs: {mediaDataSource: {isLive: false,cors: true,withCredentials: false}},sources: [{src: res.data,type: "video/x-flv"}]})});

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com