Audio/video stream recording forums (http://stream-recorder.com/forum/index.php)
-   Playing online streaming in media players (http://stream-recorder.com/forum/forumdisplay.php?f=77)
-   -  

rodom.tv - How to watch live with rtmpdump

(http://stream-recorder.com/forum/showthread.php?t=10242)

karlo2105 10-19-2011 05:29 PM

rodom.tv - How to watch live with rtmpdump


 
On _http://www.rodom.tv/ website, you can't watch channel with rtmpdump if you launch it before flash player. I guess they use such cookies or tickets. :D

chap 10-19-2011 11:08 PM

Re: rodom.tv - How to watch live with rtmpdump


 
:confused:
watch channel

karlo2105 10-20-2011 04:22 AM

Re: rodom.tv - How to watch live with rtmpdump


 
Quote:

Originally Posted by chap (Post 33646)
:confused:
watch channel

I know that. But when you leave their page and try again to launch it with RTMPdump after 5 or 10 minutes it doesn't work anymore.

KSV 10-20-2011 11:47 AM

Re: rodom.tv - How to watch live with rtmpdump


 
you need to send two http requests before using RTMPdump. it will register your ip address with their rtmp server and you will be allowed to watch.

Pseudo code:
Code:

  $cc  = new cURL();
  $html = $cc->get("http://www.rodom.tv/watch/lnk");

  $cc->headers[] = "Referer: http://www.rodom.tv/watch/lnk";
  $response      = $cc->get("http://www.rodom.tv/watch/index.php?option=com_watchtv&view=template&r=13191300781054893&cm=lnk");

if it returns notmember instead of notlogged try after changing your ip.

karlo2105 10-20-2011 12:19 PM

Re: rodom.tv - How to watch live with rtmpdump


 
Quote:

Originally Posted by KSV (Post 33678)
you need to send two http requests before using RTMPdump. it will register your ip address with their rtmp server and you will be allowed to watch.

Pseudo code:
Code:

  $cc  = new cURL();
  $html = $cc->get("http://www.rodom.tv/watch/lnk");

  $cc->headers[] = "Referer: http://www.rodom.tv/watch/lnk";
  $response      = $cc->get("http://www.rodom.tv/watch/index.php?option=com_watchtv&view=template&r=13191300781054893&cm=lnk");

if it returns notmember instead of notlogged try after changing your ip.

Is it your script ? How could I implement this in my batchfile with RTMPdump?

KSV 10-20-2011 12:35 PM

Re: rodom.tv - How to watch live with rtmpdump


 
call it before calling RTMPdump.

Full script:
Code:

<?php
  class cURL
    {
      var $headers;
      var $user_agent;
      var $compression;
      var $cookie_file;
      var $proxy;

      function cURL($cookies = TRUE, $cookie = 'Cookies.txt', $compression = 'gzip', $proxy = '')
        {
          $this->headers[]  = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
          $this->headers[]  = 'Connection: Keep-Alive';
          $this->headers[]  = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
          $this->user_agent  = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
          $this->compression = $compression;
          $this->proxy      = $proxy;
          $this->cookies    = $cookies;
          if ($this->cookies == TRUE)
              $this->cookie($cookie);
        }

      function cookie($cookie_file)
        {
          if (file_exists($cookie_file))
            {
              $this->cookie_file = $cookie_file;
            }
          else
            {
              $file = fopen($cookie_file, 'w') or $this->error('The cookie file could not be opened. Make sure this directory has the correct permissions');
              $this->cookie_file = $cookie_file;
              fclose($file);
            }
        }

      function get($url)
        {
          $process = curl_init($url);
          curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers);
          curl_setopt($process, CURLOPT_HEADER, 0);
          curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
          curl_setopt($process, CURLOPT_ENCODING, $this->compression);
          curl_setopt($process, CURLOPT_TIMEOUT, 30);
          if ($this->proxy)
              curl_setopt($process, CURLOPT_PROXY, $this->proxy);
          curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
          $return = curl_exec($process);
          curl_close($process);
          return $return;
        }

      function post($url, $data)
        {
          $process = curl_init($url);
          curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers);
          curl_setopt($process, CURLOPT_HEADER, 1);
          curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
          curl_setopt($process, CURLOPT_ENCODING, $this->compression);
          curl_setopt($process, CURLOPT_TIMEOUT, 30);
          if ($this->proxy)
              curl_setopt($process, CURLOPT_PROXY, $this->proxy);
          curl_setopt($process, CURLOPT_POSTFIELDS, $data);
          curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
          curl_setopt($process, CURLOPT_POST, 1);
          $return = curl_exec($process);
          curl_close($process);
          return $return;
        }

      function error($error)
        {
          echo "cURL Error : $error";
          die;
        }
    }

  echo "KSV RodomTV Downloader\n";
  echo "Retrieving html . . .\n";
  $cc            = new cURL();
  $html          = $cc->get("http://www.rodom.tv/watch/lnk");
  $cc->headers[] = "Referer: http://www.rodom.tv/watch/lnk";
  $response      = $cc->get("http://www.rodom.tv/watch/index.php?option=com_watchtv&view=template&r=13191300781054893&cm=lnk");
  echo "\n$response\n\n";
  if (file_exists("Cookies.txt"))
      unlink("Cookies.txt");
  echo "Finished.\n";
?>


karlo2105 10-20-2011 12:50 PM

Re: rodom.tv - How to watch live with rtmpdump


 
Quote:

Originally Posted by KSV (Post 33683)
call it before calling rtmpdump.

Full script:
Code:

<?php
  class cURL
    {
      var $headers;
      var $user_agent;
      var $compression;
      var $cookie_file;
      var $proxy;

      function cURL($cookies = TRUE, $cookie = 'Cookies.txt', $compression = 'gzip', $proxy = '')
        {
          $this->headers[]  = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
          $this->headers[]  = 'Connection: Keep-Alive';
          $this->headers[]  = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
          $this->user_agent  = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
          $this->compression = $compression;
          $this->proxy      = $proxy;
          $this->cookies    = $cookies;
          if ($this->cookies == TRUE)
              $this->cookie($cookie);
        }

      function cookie($cookie_file)
        {
          if (file_exists($cookie_file))
            {
              $this->cookie_file = $cookie_file;
            }
          else
            {
              $file = fopen($cookie_file, 'w') or $this->error('The cookie file could not be opened. Make sure this directory has the correct permissions');
              $this->cookie_file = $cookie_file;
              fclose($file);
            }
        }

      function get($url)
        {
          $process = curl_init($url);
          curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers);
          curl_setopt($process, CURLOPT_HEADER, 0);
          curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
          curl_setopt($process, CURLOPT_ENCODING, $this->compression);
          curl_setopt($process, CURLOPT_TIMEOUT, 30);
          if ($this->proxy)
              curl_setopt($process, CURLOPT_PROXY, $this->proxy);
          curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
          $return = curl_exec($process);
          curl_close($process);
          return $return;
        }

      function post($url, $data)
        {
          $process = curl_init($url);
          curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers);
          curl_setopt($process, CURLOPT_HEADER, 1);
          curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
          if ($this->cookies == TRUE)
              curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
          curl_setopt($process, CURLOPT_ENCODING, $this->compression);
          curl_setopt($process, CURLOPT_TIMEOUT, 30);
          if ($this->proxy)
              curl_setopt($process, CURLOPT_PROXY, $this->proxy);
          curl_setopt($process, CURLOPT_POSTFIELDS, $data);
          curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
          curl_setopt($process, CURLOPT_POST, 1);
          $return = curl_exec($process);
          curl_close($process);
          return $return;
        }

      function error($error)
        {
          echo "cURL Error : $error";
          die;
        }
    }

  echo "KSV RodomTV Downloader\n";
  echo "Retrieving html . . .\n";
  $cc            = new cURL();
  $html          = $cc->get("http://www.rodom.tv/watch/lnk");
  $cc->headers[] = "Referer: http://www.rodom.tv/watch/lnk";
  $response      = $cc->get("http://www.rodom.tv/watch/index.php?option=com_watchtv&view=template&r=13191300781054893&cm=lnk");
  echo "\n$response\n\n";
  if (file_exists("Cookies.txt"))
      unlink("Cookies.txt");
  echo "Finished.\n";
?>


OK thanks very much it's working. But I would like to know how could I implement your script in RTMPdump command file in order to automatize channel launch from batchfile?

KSV 10-20-2011 12:56 PM

Re: rodom.tv - How to watch live with rtmpdump


 
save the script as RodomTV.php and in your batch file add
Code:

php RodomTV.php
before actual RTMPdump command line.

karlo2105 10-20-2011 01:01 PM

Re: rodom.tv - How to watch live with rtmpdump


 
Quote:

Originally Posted by KSV (Post 33685)
save the script as RodomTV.php and in you batch file add
Code:

php RodomTV.php
before actual rtmpdump command line.

I did it but it doesn't work.

Code:

call %php% RodomTV.php rtmpdump -v -r "rtmp://31.31.34.182/live/sport1.stream" -W "http://www.rodom.tv/components/com_watchtv/views/watch/tmpl/compilephp.swf" -p
"http://www.rodom.tv/watch.html" -q | %vlc% -


KSV 10-20-2011 01:03 PM

Re: rodom.tv - How to watch live with rtmpdump


 
you are doing it wrong.

Code:

call %php% RodomTV.php
call rtmpdump -v -r "rtmp://31.31.34.182/live/sport1.stream" -W "http://www.rodom.tv/components/com_watchtv/views/watch/tmpl/compilephp.swf" -p
"http://www.rodom.tv/watch.html" -q | %vlc% -



All times are GMT -6. The time now is 12:18 PM.