From e462a996458a161f58c905069d696920c48d5de4 Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Wed, 1 Oct 2025 23:21:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/device/component/cusPlayer.vue | 32 +++++++++++++++++-- .../thread/MediaTransferFlvByFFmpeg.java | 4 ++- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/rtsp-vue/src/views/video/device/component/cusPlayer.vue b/rtsp-vue/src/views/video/device/component/cusPlayer.vue index f7d7e27..f0710d8 100644 --- a/rtsp-vue/src/views/video/device/component/cusPlayer.vue +++ b/rtsp-vue/src/views/video/device/component/cusPlayer.vue @@ -77,17 +77,43 @@ export default { // 监听播放器错误 this.player.on('error', (error) => { - console.error('播放器错误:', error); + console.error('❌ 播放器错误:', error); + console.error('错误详情:', JSON.stringify(error, null, 2)); }); // 监听播放器就绪 this.player.on('ready', () => { - console.log('播放器就绪'); + console.log('✅ 播放器就绪'); }); // 监听播放开始 this.player.on('play', () => { - console.log('开始播放'); + console.log('▶️ 开始播放'); + }); + + // 监听播放暂停 + this.player.on('pause', () => { + console.log('⏸️ 播放暂停'); + }); + + // 监听视频加载开始 + this.player.on('loadstart', () => { + console.log('🔄 开始加载视频数据'); + }); + + // 监听视频元数据加载 + this.player.on('loadedmetadata', () => { + console.log('📊 视频元数据已加载'); + }); + + // 监听视频可以播放 + this.player.on('canplay', () => { + console.log('✅ 视频可以播放'); + }); + + // 监听等待数据 + this.player.on('waiting', () => { + console.log('⏳ 等待视频数据...'); }); // 自定义播放器按钮 diff --git a/ruoyi-video/src/main/java/com/ruoyi/video/thread/MediaTransferFlvByFFmpeg.java b/ruoyi-video/src/main/java/com/ruoyi/video/thread/MediaTransferFlvByFFmpeg.java index 9fe8067..cf5ac9f 100644 --- a/ruoyi-video/src/main/java/com/ruoyi/video/thread/MediaTransferFlvByFFmpeg.java +++ b/ruoyi-video/src/main/java/com/ruoyi/video/thread/MediaTransferFlvByFFmpeg.java @@ -146,10 +146,12 @@ public class MediaTransferFlvByFFmpeg extends MediaTransfer { .addArgument("-max_delay").addArgument("1") .addArgument("-g").addArgument("25") .addArgument("-r").addArgument("25") - // 使用 libx264 编码器(系统 FFmpeg 包含,质量最好) + // 使用 libx264 编码器(H.264,FLV 播放器标准支持) .addArgument("-c:v").addArgument("libx264") .addArgument("-preset").addArgument("ultrafast") .addArgument("-tune").addArgument("zerolatency") + .addArgument("-profile:v").addArgument("baseline") // baseline 兼容性最好 + .addArgument("-level").addArgument("3.0") .addArgument("-b:v").addArgument("1000k") // 视频比特率 .addArgument("-maxrate").addArgument("1000k") .addArgument("-bufsize").addArgument("2000k")