Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Limity i serwis Filmowy PHP
Forum PHP.pl > Forum > PHP
killzone
Mam pytanie programuje w php juz kawałek czasu i zastanawiam sie czy np mając konto na serwisie maxvideo premium mogę napisać skrypt który będzie sie logował i wyświetlał np player premium.
Ogólnie pytanie brzmi tak jak takie serwisy jak iitv realizują swoją strefe premium questionmark.gif

Albo np pobieram za pomocą php plik z filmem na dysk i go dopiero wyświetlam ? Czy mogę to zrobić inaczej ? Np wyświetlić ten player premium ?

Jak za pomocą php to zrobić , potrzebuje wskazówek gdzie szukać. Bo mam problem ze znalezieniem informacji .

Dziękuje
Daimos
Nikt Ci tutaj w takim czymś nie pomoże. Jak chcesz wszystkim pokazywać player premium, to wykup jakiś większy pakiet i wtedy udostępniaj to ludziom smile.gif
A jak się bardzo upierasz, to pobierz/nagraj film i hostuj u siebie
freemp3
Heh i nie znajdziesz takich informacji. Na pewno nie tutaj.
Postaw się w sytuacji właściciela takiego serwisu. Chciałbyś, żeby ktoś w Twoim serwisie, na który wyłożyłeś grubą kasę, omijał zabezpieczenia, żeby pobierać filmy za darmo? Raczej wątpię.
by_ikar
Kiedyś swego czasu wykonałem taki "omijacz" dla megavideo i dla megaupload. Na 100% niemal każdy serwis sprawdza adresy IP z których pobierane są dane. Zapewne sprawdzają również ile tych danych ciągniesz, jeżeli dużo, to pewnie będą cię baczniej obserwować. I powiedzmy zauważą że ciągniesz 30 filmików jednocześnie, z tego samego IP, to w zależności jakie mają podejście, mogą ci zablokować to IP, albo zwyczajnie zablokować konto. Dodatkowo są pewnie zabezpieczenia że ID filmu, to nie tylko samo id, ale has aktualnego czasu, pewnie nawet twojego ip, plus jakieś dodatkowe dane uniemożliwiające pobieranie wielu osobą z tego samego linku. Czyli linki są tymczasowe.

Używać do tego celu php? No to dość szybko zajedziesz serwer, bo każdy stream trwa dość długo, bo pewnie nie będą to kilku sekundowe filmiki, a pobierać będziesz musiał z prędkością łącza swojego użytkownika.

Jeżeli są to tylko filmiki online, to musisz sobie znaleźć pattern do którego możesz się podczepić. Dzięki czemu nie będziesz musiał każdorazowo parsować strony z której pobierasz dane, a wystarczyć ci będzie powiedzmy tylko ID video z linku (tak jak ma to chociażby youtube).

Tutaj masz coś co kiedyś zrobiłem na megavideo, może ci to podsunie kilka pomysłów:

  1. <?php
  2.  
  3. function mv_decrypt($str_hex, $key1, $key2)
  4. {
  5. $str_bin = '';
  6.  
  7. for($i = 0; $i < 128; $i++)
  8. {
  9. $str_bin .= floor(hexdec($str_hex[floor($i/4)])/pow(2,(3-($i%4))))%2;
  10. }
  11.  
  12. $key = array();
  13. for ($i = 0; $i < 384; $i++)
  14. {
  15. $key1 = ($key1 * 11 + 77213) % 81371;
  16. $key2 = ($key2 * 17 + 92717) % 192811;
  17. $key[$i] = ($key1 + $key2) % 128;
  18. }
  19.  
  20. for ($i = 256; $i >= 0; $i--)
  21. {
  22. $temp = $str_bin[$key[$i]];
  23. $str_bin[$key[$i]] = $str_bin[$i%128];
  24. $str_bin[$i%128] = $temp;
  25. }
  26.  
  27. for ($i = 0; $i < 128; $i++)
  28. {
  29. $str_bin[$i] = $str_bin[$i] ^ $key[$i+256] & 1;
  30. }
  31.  
  32. $str_hex = '';
  33. for($i = 0; $i < 32; $i++)
  34. {
  35. $str_hex .= dechex(bindec(substr($str_bin, $i*4, 4)));
  36. }
  37.  
  38. return $str_hex;
  39. }
  40.  
  41.  
  42. if(isset($_GET['file']))
  43. {
  44. $pos = !isset($_GET['pos']) ?: intval($_GET['pos']);
  45. $megavideo_id = $_GET['file'];
  46.  
  47. if($content = @file_get_contents('http://www.megavideo.com/xml/videolink.php?v='.$megavideo_id))
  48. {
  49. $parameters = array('un', 'k1', 'k2', 's', 'size', 'description');
  50. $success = true;
  51.  
  52. for($i=0; $i<count($parameters); $i++)
  53. {
  54. $success = $success && preg_match('/ ' . $parameters[$i] . '="([^"]+)"/', $content, $match);
  55. $$parameters[$i] = $match[1];
  56. }
  57.  
  58. if($success)
  59. {
  60. $dkey = mv_decrypt($un,$k1,$k2);
  61. $video_url = "http://www".$s.".megavideo.com/files/".$dkey."/".$pos;
  62.  
  63. header('Content-Type: video/flv');
  64. header('Content-Disposition: attachment; filename='.urldecode($description).';');
  65. header('Content-Length: '.$size);
  66.  
  67. readfile($video_url);
  68. echo '<a href=''.$video_url.''> LINK </a>';
  69. }
  70. }
  71. }


Dużo łatwiej jest z linkami, tzn jak pobierasz pliki z serwisów typu megaupload, tworzysz sobie ciastko, żeby nie logować się za każdym razem curl'em, z podanej strony wybierasz tylko interesujący link i go streamujesz, ale tak jak napisałem, php średnio się do tego nadaje.

Oczywiście nie zajmowałem się hostowaniem jakichś filmików, czy innych plików. W moim przypadku było to jedno konto premium które chciałem podzielić między swoich kilku znajomych. No i dla kilku osób to php jest wystarczające. Ale dla większej liczby osób, to już jest dużo za dużo. W sieci raczej info na ten temat nie znajdziesz, raz to co wymienili moi przedmówcy, że łamiesz jakieś zabezpieczenia, czy regulaminy, a druga sprawa jest taka że nikt ci tego za darmo nie da. Megaupload/megavideo raczej już nie wstanie więc nie widzę problemu..

ps czekam na lincz wink.gif
killzone
Dziękuje łąmanie regulaminu ? Może sie źle wypowiedzałem a serwisy typu rapideo.pl pośredniczące w pobieraniu plików questionmark.gif To też łamanie regulaminu też questionmark.gif Oni też mają możliwość oglądania filmów poprzez podanie linku.



Dziękuje za kod przepatrze sobie to . smile.gif
by_ikar
No tak jak ci powiedziałem, pobieranie z serwisów które są nastawione na typowe pobieranie, można zamknać w kilku linijkach, np rapidshare czy megaupload. Ale to już sobie wykombinować musisz sam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.