本地摄像头视频流在html中打开

1.准备ffmpeg 和(rtsp-simple-server + srs搭建流媒体服务器)视频服务器.

2.解压视频流服务器修改配置文件mediamtx.yml ,hlsAlwaysRemux: yes

3.双击运行服务器。

4,安装ffmpeg ,添加到环境变量。

5.查询本机设备列表

ffmpeg -list_devices true -f dshow -i dummy

6.查看当前摄像头的详细参数

ffmpeg -list_options true -f dshow -i video="Integrated Camera"

7.预览本机摄像头画面

ffplay -f dshow -i video="Integrated Camera"

8.将本地电脑摄像头打开将视频流传到rtmp服务器

bash 复制代码
ffmpeg -f dshow -i audio="麦克风阵列 (Synaptics Audio)" -f dshow -i video="Integrated Camera"  -vcodec libx264 -preset veryfast -maxrate 1000k -bufsize 2000k -vf "format=yuv420p" -g 50 -f flv rtmp://10.204.51.49:1935/love/stream

9.将rtmp视频流转成hls格式视频流,文件放nginx服务下

bash 复制代码
ffmpeg -i rtmp://10.204.51.49:1935/love/stream -vcodec copy -acodec copy  -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 5 video.m3u8

10.创建一个html页面方法在nginx服务下

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HLS 播放本地视频流</title>
    <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
</head>
<body>
    <video id="video" controls></video>
    <script>
        if (Hls.isSupported()) {
            var video = document.getElementById('video');
            var hls = new Hls();
            hls.loadSource('./video.m3u8'); // 替换为你的HLS流地址
            hls.attachMedia(video);
            hls.on(Hls.Events.MANIFEST_PARSED, function() {
                video.play();
            });
        } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
            video.src = './video.m3u8'; // Safari支持HLS原生播放
            video.addEventListener('loadedmetadata', function() {
                video.play();
            });
        }
    </script>
</body>
</html>
相关推荐
mldong30 分钟前
你的 Vue3 项目也能有钉钉同款审批流设计器:npm 装包,10 分钟画出第一条审批流
前端·vue.js
2分钟速写快排1 小时前
什么是 RAG?如何用 RAG 实现一个用户记忆?
前端·后端·ai编程
面向Google编程1 小时前
Apache Iceberg Variant 类型:v3 半结构化数据不再「二选一」
大数据·后端
passerby60612 小时前
如何自己造一个时间处理库
前端·javascript·github
jason成都2 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
走到天涯海角3 小时前
react里面的长列表渲染优化
前端·react.js·前端框架
小羊没烦恼!3 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
北岛贰3 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
mayaairi5 小时前
Vue2 组件通讯(三):全局事件总线、PubSub、插槽与组件实例属性
前端·javascript·vue.js
kyriewen5 小时前
面试官问我:AI 都能写代码了,前端凭什么还值 25K
前端·javascript·人工智能