PDA

Volledige versie bekijken : Onzichtbare embed src flash video player


tohmas
%Europe/Berlin %811 %2007, 20:27
Op mijn site gebruik ik een flash video player.
Deze linkt naar .flv bestanden die niet op mijn server gehost zijn.

Om te voorkomen dat iedereen ook gaat linken naar dat .flv bestand zou ik dit graag min of meer willen "beveiligen".

Kan er bij de embed source ook http://www.mijnsite.nl/videoplayer.php?vid=1203219 staan ipv http://www.path.to/extern/video.flv?
En dat het dan vooral ietsje moeilijker wordt voor de bezoeker om de originele .flv te vinden

w00
%Europe/Berlin %845 %2007, 21:17
Moet je even kijken naar mod_rewrite voor Apache.

sander1
%Europe/Berlin %450 %2007, 11:48
Je kunt de controle in PHP inbouwen en indien de controle slaagt het filmpje outputten via het script, bijvoorbeeld zo:

if () // Controle of het bestand geopend/gelinkt mag worden hier inbouwen
{
// Indien bestand bekeken mag worden het juiste bestand outputten
$flv = "test.flv"; // Je oorspronkelijke FLV
$len = filesize($flv); // De bestandsgrootte

// Headers zodat het bestand herkend wordt als Flash video
header("Content-type: video/x-flv");
header("Content-Disposition: inline; filename='test.flv'");
header("Content-Length: " . $len);

$fd = fopen($flv, "rb");
fpassthru($fd);
fclose ($fd);
}
else // Zo niet, iets anders doen, error geven of ander filmpje doorgeven
{

}

tohmas
%Europe/Berlin %726 %2007, 18:26
Je kunt de controle in PHP inbouwen en indien de controle slaagt het filmpje outputten via het script.


dat is een goeie, ik zal het proberen

sander1
%Europe/Berlin %800 %2007, 20:12
Ik weet alleen even niet zeker of filesize() ook werkt via http://
Mocht dat niet het geval zijn dan kun je zo nog de filesize van de af te spelen FLV ophalen:



$flv = "http://www.mijnsite.nl/test.flv";
$headers = get_headers($flv, 1);
$len = $headers['Content-Length'];


BTW: Het is niet verplicht om header("Content-Length: " . $len); in je output op te geven.

kobayashi
%Europe/Berlin %494 %2007, 11:51
Hoe kan je het zo maken dat je video URL in het Embedded element staat? Ik snap dat de link naar de .swf file daarin staat, maar niet hoe je het zo kan maken dat de video link erin komt te staan.. Dat zou handig zijn omdat je dan niet voor elke video een aparte player moet maken..


Ik zat trouwens te denken over het probleem van de zichtbare link.. Als je nu een PHP file maakt die je Videocodes noemt, en dat daarin links naar de video's een variabele maakt in php. Dus variabele: 32434535 is link video2. Ik ben niet thuis in PHP maar dan kan je volgenmij een link www.jouwsite/Videocodes?32434535 maken. Dat maakt het iets lastiger om de video's te stelen, maar ik zou als ik jouw was ook een anti-leech code installeren!

sander1
%Europe/Berlin %138 %2007, 03:19
Hoe kan je het zo maken dat je video URL in het Embedded element staat? Ik snap dat de link naar de .swf file daarin staat, maar niet hoe je het zo kan maken dat de video link erin komt te staan.. Dat zou handig zijn omdat je dan niet voor elke video een aparte player moet maken..Je kunt als een GET waarde het viodebestand meegeven aan je videospeler (in de embed dus): player.swf?video=film.flv
Op die manier heb je binnen je Flash applicatie (player.swf) de variabele video ter beschikking. Deze heeft de waarde film.flv.Ik zat trouwens te denken over het probleem van de zichtbare link.. Als je nu een PHP file maakt die je Videocodes noemt, en dat daarin links naar de video's een variabele maakt in php. Dus variabele: 32434535 is link video2. Ik ben niet thuis in PHP maar dan kan je volgenmij een link www.jouwsite/Videocodes?32434535 maken. Dat maakt het iets lastiger om de video's te stelen, maar ik zou als ik jouw was ook een anti-leech code installeren!De directe link valt enigszins te verbergen, maar maak je geen illusies, het bestand is relatief eenvoudig te achterhalen. Voor het afspelen wordt het bestand vaak op de HD van de gebruiker opgeslagen. Daarnaast kun je door middel van het in de gaten houden van de HTTP headers (met bijvoorbeeld Live HTTP Headers (https://addons.mozilla.org/en-US/firefox/addon/3829) voor Firefox) de bestandslocatie achterhalen:

http://surl.se/picture/200711/160984.jpg

kobayashi
%Europe/Berlin %521 %2007, 12:31
Je kunt als een GET waarde het viodebestand meegeven aan je videospeler (in de embed dus): player.swf?video=film.flv
Op die manier heb je binnen je Flash applicatie (player.swf) de variabele video ter beschikking. Deze heeft de waarde film.flv.

Ik snap hoe dat in de embed moet maar hoe roep je die variabele op in de flash movie, bijvoorbeeld met het Ns.Play("") element?

Alvast bedankt,

Martijn

sander1
%Europe/Berlin %738 %2007, 17:44
Die variabele krijg je binnen in je Flash applicatie en daar kun je vervolgens mee doen wat je wilt, bijvoorbeeld tracen naar je Output venster (binnen Flash zelf):trace(video);Of, stel je hebt een video (niet het FLVPlayback component) op je Stage staan met de naam vFLVDisplay dan kun je er zo een video aan koppelen en afspelen:// NetConnection
var ncFLVConnection:NetConnection = new NetConnection();
ncFLVConnection.connect(null);

// NetStream
var nsVideo:NetStream = new NetStream(ncFLVConnection);

// NetStream koppelen aan video object
vFLVDisplay.attachVideo(nsVideo);

// Video afspelen
nsVideo.play(video);

kobayashi
%Europe/Berlin %508 %2007, 12:11
Bedankt voor de hulp! :)