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('/');