Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

[Patrick]

Clicar no link e carregar novo Video

Recommended Posts

E aí pessoal, estou precisando de ajuda com o seguinte problema:

Tenho monitoramento de câmeras e quero disponibiliza-las para alguns usuários, mas quero que eles visualizem apenas uma por vez para não pesar demais o link, então comecei a fazer o código abaixo, mas não consigo fazer outra câmera tomar o lugar da que esta sendo reproduzida no momento que clico no botão. 

Como as câmeras são Streaming, a unica tag que funcionou nos meus testes para reproduzir o vídeo foi a <embed>.

Obrigado.

 

 

 

Código:

 

<!DOCTYPE html>
<html>
    <head>
        <title>TODO</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <script type="text/javascript">            
            function mudacamera(cam) {

                if (cam == 1) {
                    document.getElementById("player").href = "rtsp://192.168.40.20:554/user=admin&password=171912&channel=1&stream=0.sdp";
                    alert("Camera selecionada: " + cam);
                } // if 1

                if (cam == 2) {
                    document.getElementById("player").target = "rtsp://192.168.40.20:554/user=admin&password=171912&channel=2&stream=0.sdp";
                    alert("Camera selecionada: " + cam);
                } //if 2

                if (cam == 3) {
                    document.getElementById("player").target = "rtsp://192.168.40.20:554/user=admin&password=171912&channel=3&stream=0.sdp";
                    alert("Camera selecionada: " + cam);
                } // if 3

                if (cam == 4) {
                    document.getElementById("player").target = "rtsp://192.168.40.20:554/user=admin&password=171912&channel=4&stream=0.sdp";
                    alert("Camera selecionada: " + cam);
                } // if 4
            }            
        </script>

        <a href="javascript:void(0);" onclick="mudacamera(1)">Cam1</a>
        <a href="javascript:mudacamera(2)">Cam2</a>
        <a href="javascript:;" onclick="mudacamera(3)">Cam3</a>
        <a href="javascript:;" onclick="mudacamera(4)">Cam4</a><br/>

        <h1>Video</h1>
        
        <embed type="application/x-vlc-plugin" id="player" name="video1" autoplay="yes" loop="yes" width="400" height="300"
            target="rtsp://192.168.40.20:554/user=admin&password=171912&channel=1&stream=0.sdp" />    
        
    </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A solução que encontrei foi utilizar o método setAttribute(), no lugar da notação ".target" que você estava usando.

 

Apesar de ser funcional, pode haver soluções melhores. Por isso, você pode esperar por outras respostas e avaliar.

 

<!DOCTYPE html>
<html>

<head>
    <title>TODO</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
    <script type="text/javascript">            
        function mudacamera(cam) {

            if (cam == 1) {
                document.getElementById("player").setAttribute("target", "rtsp://192.168.40.20:554/user=admin&password=171912&channel=1&stream=0.sdp");
                alert("Camera selecionada: " + cam);
            } // if 1

            if (cam == 2) {
                document.getElementById("player").setAttribute("target", "rtsp://192.168.40.20:554/user=admin&password=171912&channel=2&stream=0.sdp");
                alert("Camera selecionada: " + cam);
            } //if 2

            if (cam == 3) {
                document.getElementById("player").setAttribute("target", "rtsp://192.168.40.20:554/user=admin&password=171912&channel=3&stream=0.sdp");
                alert("Camera selecionada: " + cam);
            } // if 3

            if (cam == 4) {
                document.getElementById("player").setAttribute("target", "rtsp://192.168.40.20:554/user=admin&password=171912&channel=4&stream=0.sdp");
                alert("Camera selecionada: " + cam);
            } // if 4
        }            
    </script>

    <a href="javascript:void(0);" onclick="mudacamera(1)">Cam1</a>
    <a href="javascript:mudacamera(2)">Cam2</a>
    <a href="javascript:;" onclick="mudacamera(3)">Cam3</a>
    <a href="javascript:;" onclick="mudacamera(4)">Cam4</a><br/>
    <br/>

    <h1>Video</h1>

    <embed type="application/x-vlc-plugin" id="player" name="video1" autoplay="yes" loop="yes" width="400" height="300" target="rtsp://192.168.40.20:554/user=admin&password=171912&channel=1&stream=0.sdp"/>

</body>

</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código dá o alerta da câmera selecionada e isso mostra que esta entrando na função, mas não esta alterando o vídeo.

Sempre fica no mesmo vídeo que esta la na parte onde a tag <embed> foi colocada.

 

target="rtsp://192.168.40.20:554/user=admin&password=171912&channel=1&stream=0.sdp"

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.