Dzięki za odpowiedź dobry człowieku bo już myślałem, że mnie wszyscy olali - nawet na stackoverflow.com nikt mi nie odpisał na ten temat.
Więc tak - mój hosting - linuxpl.com.
Co do pobierania pliku - chcę to właśnie tak zrobić, aby pobierać plik partiami i echować go na ekran (tworząc z tych kawałków klip video), ale nie zapisywać tego filmu u siebie na dysku.
Próbowałem to zrobić tak:
Plik filmy.php:
$url = 'http://strona.pl/film.flv';
header('Accept-Ranges: bytes');
header('Content-Type: video/flv');
header('Connection: keep-alive');
header ("Content-Length: " . filesize($url));
header('Content-Transfer-Encoding: binary');
header ("Content-Disposition: attachment; filename=file.flv");
$fd = fopen($url, "r");
while(!feof($fd))
{
echo fread($fd, 4096);
ob_flush();
}
index.html:
<video width="320" height="240" controls>
<source src="filmy.php" type="video/x-flv">
Your browser does not support the video tag.
</video>
Niestety, za cholerę nie mogę w tym HTMLu podać pliku z rozszerzeniem .php bo wypluwa błąd, że URL jest niepoprawny bądź też nie potrafi odczytać tego pliku. Nie wiem jak to ugryźć żeby to wszystko współgrało. Cały problem polega na tym, że mam dostęp do głównego pliku z filmem - plik znajduje się na zewnętrznym serwisie, jednak ten link do pliku jest generowany na podstawie IP, tak więc mój serwis jak pobierze przez CURLa ten URL to jest to link działający tylko dla mojego serwera. User, który wchodzi na moją stronę i dostanie wyechowany ten link na ekran - u niego to nie pójdzie ze względu na inne adresy IP. Wykombinowałem więc, że muszę pobrać partiami ten plik i stworzyć z niego jakby "live streaming". Trochę to ogólnie skomplikowane, najelpiej by było w tle pobrać ten link z tej strony z poziomu np. JS/Ajax, jednak ta strona chroni się ORIGIN POLICY (czy jakoś tak) i tutaj też jest problem, więc chyba to rozwiązanie jest najlepsze, jednak nie do końca chce to działac. Jakieś porady?
EDIT:
Kurde, udało mi się to odpalić za pomocą tego: http://stackoverflow.com/questions/2248800/play-flv-in-html :P Mimo wszystko, masz jakieś sugestie co do tego rozwiązania? Serio tylko kilka osób jednocześnie będzie mogło ogladać różne filmy na mojej stronie ?
EDIT 2:
Jednak trochę się pospieszyłem. Zauważyłem, że jeśli film zacznie lecieć i ssuwakiem przewinę film na końcówkę to ssuwak się tam rzeczywiście zatrzyma (na końcu), czas normalnie leci jakby film był powiedzmy na 143, jednak w rzeczywistości to jest ok. 2-3 minuta filmu. Po chwili ten czas się zatrzymuje w miejscu, mimo że film dalej normalnie leci. Wynika z tego, że ten player nie kontroluje tego czy film został pobrany w takiej ilości, aby można go było przewinąć do danej minuty. Da się jakoś nałożyć ograniczenie, że jeśli film nie pobrał się powiedzmy do tego czasu 143 to po prostu skrypt uniemożliwia ręczne przesunięcie do tego momentu?
EDIT 3:
Dostałem odpowiedź na stackoverflow.com, jednak szczerze mówiąc - nie wiem jak ten kod wykorzystać: http://stackoverflow.com/questions/29189551/videojs-play-without-fully-load-video/29192617#29192617
Gdzie powinny być zdefiniowane te nagłówki w przypadku wykrycia tego nagłówka RANGE ? W pętli? Przed nią? Po drugie, nagłówek RANGE trzeba jakoś zdefiniować czy on sam się wysyła w przypadku zmiany pozycji filmu?