diff --git a/public/index.html b/public/index.html index 20abdc1..e452647 100644 --- a/public/index.html +++ b/public/index.html @@ -54,11 +54,7 @@
- - -
-
- +
diff --git a/public/js/main.js b/public/js/main.js index bdcfbb4..3da5a0a 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -10,10 +10,7 @@ document.addEventListener('DOMContentLoaded', () => { const loginPasswordInput = document.getElementById('login-password'); const loginBtn = document.getElementById('login-btn'); const loginError = document.getElementById('login-error'); - const decoderSelect = document.getElementById('decoder-select'); const encoderSelect = document.getElementById('encoder-select'); - const decoderLabel = document.querySelector('label[for="decoder-select"]'); - const encoderLabel = document.querySelector('label[for="encoder-select"]'); const playerOverlay = document.getElementById('player-overlay'); const transcodingOverlay = document.getElementById('transcoding-overlay'); const videoPlayer = document.getElementById('video-player'); @@ -92,12 +89,7 @@ document.addEventListener('DOMContentLoaded', () => { if (playbackSpeed) { videoPlayer.playbackRate = parseFloat(playbackSpeed.value) || 1; } - if (decoderLabel) { - decoderLabel.textContent = '视频解码器:'; - } - if (encoderLabel) { - encoderLabel.textContent = '视频编码器:'; - } + const formatBytes = (bytes) => { if (!bytes || bytes === 0) return '0 B'; @@ -143,7 +135,7 @@ document.addEventListener('DOMContentLoaded', () => { }; const buildHlsPlaylistUrl = () => { - const decoder = decoderSelect?.value || 'auto'; + const decoder = 'auto'; const encoder = encoderSelect?.value || 'h264_rkmpp'; let streamUrl = `/api/hls/playlist.m3u8?bucket=${encodeURIComponent(selectedBucket)}&key=${encodeURIComponent(selectedKey)}&decoder=${encodeURIComponent(decoder)}&encoder=${encodeURIComponent(encoder)}`; if (s3Username) streamUrl += `&username=${encodeURIComponent(s3Username)}`; @@ -542,7 +534,6 @@ document.addEventListener('DOMContentLoaded', () => { topBanner.textContent = title; topBanner.classList.remove('hidden'); document.title = title; - populateSelect(decoderSelect, data.videoDecoders || [], data.defaultVideoDecoder || 'auto'); populateSelect(encoderSelect, data.videoEncoders || [], data.defaultVideoEncoder || 'h264_rkmpp'); } catch (err) { console.error('Config load failed:', err); diff --git a/server.js b/server.js index ad48e12..1591f5f 100644 --- a/server.js +++ b/server.js @@ -76,31 +76,14 @@ const transcodeProcesses = new Map(); const wsSubscriptions = new Map(); const AVAILABLE_VIDEO_ENCODERS = [ - { value: 'libx264', label: 'libx264 (Software H.264)' }, - { value: 'libx265', label: 'libx265 (Software H.265)' }, - { value: 'h264_nvenc', label: 'h264_nvenc (NVIDIA H.264)' }, - { value: 'hevc_nvenc', label: 'hevc_nvenc (NVIDIA HEVC)' }, - { value: 'h264_qsv', label: 'h264_qsv (Intel QSV H.264)' }, - { value: 'hevc_qsv', label: 'hevc_qsv (Intel QSV HEVC)' }, - { value: 'h264_vaapi', label: 'h264_vaapi (VAAPI H.264)' }, - { value: 'hevc_vaapi', label: 'hevc_vaapi (VAAPI HEVC)' }, - { value: 'h264_rkmpp', label: 'h264_rkmpp (RKMPP H.264)' }, - { value: 'hevc_rkmpp', label: 'hevc_rkmpp (RKMPP HEVC)' }, - { value: 'mjpeg_rkmpp', label: 'mjpeg_rkmpp (RKMPP MJPEG)' } + { value: 'h264_rkmpp', label: 'H.264(RKMPP HighSpeed)' }, + { value: 'hevc_rkmpp', label: 'H.265(RKMPP HighSpeed)' }, + { value: 'libx264', label: 'H.264(Software Slow)' }, + { value: 'libx265', label: 'H.265(Software Slow)' } ]; const AVAILABLE_VIDEO_DECODERS = [ - { value: 'auto', label: 'Auto Select Decoder' }, - { value: 'av1_rkmpp', label: 'av1_rkmpp (RKMPP AV1)' }, - { value: 'h263_rkmpp', label: 'h263_rkmpp (RKMPP H.263)' }, - { value: 'h264_rkmpp', label: 'h264_rkmpp (RKMPP H.264)' }, - { value: 'hevc_rkmpp', label: 'hevc_rkmpp (RKMPP HEVC)' }, - { value: 'mjpeg_rkmpp', label: 'mjpeg_rkmpp (RKMPP MJPEG)' }, - { value: 'mpeg1_rkmpp', label: 'mpeg1_rkmpp (RKMPP MPEG-1)' }, - { value: 'mpeg2_rkmpp', label: 'mpeg2_rkmpp (RKMPP MPEG-2)' }, - { value: 'mpeg4_rkmpp', label: 'mpeg4_rkmpp (RKMPP MPEG-4)' }, - { value: 'vp8_rkmpp', label: 'vp8_rkmpp (RKMPP VP8)' }, - { value: 'vp9_rkmpp', label: 'vp9_rkmpp (RKMPP VP9)' } + { value: 'auto', label: 'Auto Select Decoder' } ]; const getProgressKey = (key) => key.split('/').map(segment => segment.replace(/[^a-zA-Z0-9_\-]/g, '_')).join('/');