Без названия

2024-12-24 04:54 | Публичная
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Объединение потоков</title>
</head>
<body>
  <h1>Потоковое видео с объединенным аудио</h1>
  <video id="player" autoplay controls width="800"></video>

  <script>
    async function mergeStreams(videoUrl, audioUrl) {
      try {
        // Получаем поток видео
        const videoResponse = await fetch(videoUrl);
        const videoStream = videoResponse.body;

        // Получаем поток аудио
        const audioResponse = await fetch(audioUrl);
        const audioStream = audioResponse.body;

        // Создаем MediaStream с видеодорожкой
        const videoMediaStream = new MediaStream();
        const videoTrack = new MediaStreamTrack(videoStream);
        videoMediaStream.addTrack(videoTrack);

        // Создаем MediaStream с аудиодорожкой
        const audioMediaStream = new MediaStream();
        const audioTrack = new MediaStreamTrack(audioStream);
        audioMediaStream.addTrack(audioTrack);

        // Объединяем видео и аудио в один поток
        const combinedStream = new MediaStream([
          ...videoMediaStream.getVideoTracks(),
          ...audioMediaStream.getAudioTracks()
        ]);

        // Устанавливаем объединенный поток в элемент <video>
        const videoElement = document.getElementById('player');
        videoElement.srcObject = combinedStream;
      } catch (error) {
        console.error("Ошибка при объединении потоков:", error);
      }
    }

    // Замените на ваши ссылки
    const videoLink = 'ВАША_ССЫЛКА_НА_ВИДЕО';
    const audioLink = 'ВАША_ССЫЛКА_НА_АУДИО';

    mergeStreams(videoLink, audioLink);
  </script>
</body>
</html>
Вернуться ко Всем Вставкам
Открыть чат
Чат с Send-Code AI Закрыть чат