woensdag 02 november 2011 11:17
|
|
dinsdag 16 augustus 2011 07:51
|
|
CANNERS -
techniek
|
|
Dus je wilt video upload aan je bezoekers kunnen aanbieden, maar niet de enorme kosten voor het ontwikkelen van een upload script ( Verschillende video formaten converteren, opslag, weergave etc... ), laat staan de kosten die het dataverkeer van bekeken video's met zich mee kan brengen? Misbruik Youtube... Youtube kan vrijwel alle gebruikte videoformaten aan, en biedt zijn opslag en dataverkeer gratis en voor niks aan. Als je weet hoe je het kunt gebruiken uiteraard. Dit kan met de Youtube PHP API. Er is een flink uitgebreide instructie voor deze API maar eer je daar doorheen bent is de kans groot dat je tussen 6 planken ligt.
Daarom volgt hier een volledig werkend script waarmee je vanaf je eigen site films kunt uploaden naar een youtube account en aan het eind een status terug krijgt die aangeeft of alles goed gelukt is en welk youtube id je video heeft gekregen. Bv: http://www.youtube.com/watch?v=oHg5SJYRHA0 .
Een korte uitleg bij het script.
-
- Je hebt een API key nodig : http://code.google.com/apis/youtube/dashboard
-
- Je hebt een youtube account nodig om je films in te stoppen.
-
- Je hebt de Zend GData API nodig. Mocht je ontwikkelen in nieuwere versies van het Zend framework heb je dit niet nodig want daar zit het standaard in, maar mocht dit niet het geval zijn kun je het standalone downloaden op http://framework.zend.com/download/gdata/ ( Je hebt alleen de "Library" nodig... wijst zich vanzelf. Gewoon de nieuwste downloaden en de map library ergens op je server smijten ). Met deze API kun je applicaties bouwen met alle API's die google aanbiedt. Zoals Youtube :D
-
- Het script werkt als volgt:
-
1. Authenticeer met Youtube
-
2. Stuur een lading metadata over je filmpje naar youtube en ontvang een "Token" van youtube terug.
-
3. Gebruik dit token in je uploadformulier en verzend je film naar Youtube.
-
4. Bij succes ontvang je twee parameters van Youtube terug: Video-ID en een statuscode (200 als het goed is :D) BV: ?status=200&id=JPF-DXF7hzc
Thats it... Je hebt een film geupload naar Youtube en je weet waar je hem moet vinden...
Code
<?php
// GAIN ERRORS!
error_reporting(E_ALL);
ini_set("display_errors", 1);
// Voeg je Zend GData API toe aan je include path om er mee te werken.
$clientLibraryPath = 'library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);
// Laad de classes die je nodig hebt
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_App_Exception');
// LOGIN bij je youtube account. Vul hier je email / wachtwoord in, en geef je
// applicatie een naam.
$authenticationURL = 'https://www.google.com/accounts/ClientLogin';
$httpClient =
Zend_Gdata_ClientLogin::getHttpClient(
$username = 'blablaATgmail.com', $password = 'my_password',
$service = 'youtube', $client = null,
$source = 'Your Application Name',
$loginToken = null, $loginCaptcha = null, $authenticationURL);
// Vul je API key in en geef je applicatie een naam, boeit allemaal niet zoveel.
$developerKey = 'API KEY blablabla010101';
$applicationId = 'My own Youtube';
$clientId = 'My own Youtube - v1';
// Je eigen YOUTUBE Object. Hurrah!
$yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey);
// SET Api version. Versie 2 is de nieuwste, maar zonder dit statement neemt ie
// versie 1 en dat wil niemand.
$yt->setMajorProtocolVersion(2);
// Maak titel, omschrijving, tag en categorie metadata aan. Dit heb je nodig om van
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
$myVideoEntry->setVideoTitle('My own Movie');
$myVideoEntry->setVideoDescription('My own Movie description ofzo');
// Moet een valide categorie zijn. Je vindt ze hier:
// http://gdata.youtube.com/schemas/2007/categories.cat
$myVideoEntry->setVideoCategory('Film');
// Tags, komma gescheiden
$myVideoEntry->SetVideoTags('TNT, Photo, Competition');
// Haal je token OP
$tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
$tokenArray = $yt->getFormUploadToken($myVideoEntry, $tokenHandlerUrl);
$tokenValue = $tokenArray['token'];
$postUrl = $tokenArray['url'];
// Geef hier aan waar je script heen gaat ná het formulier. Dit wordt dan:
// http://jeeigenawesomewebsite.nl/youtube/succes.php?status=200&id=JPF-DXF7hzc
$nextUrl = 'http://jeeigenawesomewebsite.nl/youtube/succes.php';
// Bouw het form op, met het token en de landingspagina erin..
$form = '<form action="' .
$postUrl . '?nexturl=' . $nextUrl .
'" method="post" enctype="multipart/form-data">' .
'<label class="required" for="file">Upload: </label><input name="file"
type="file" size="30" />' .
'<input name="token" type="hidden" value="' . $tokenValue . '"/> ' .
' <input value="Upload Video File" type="submit" />' .
'</form>';
echo $form;
Succes!
Hans Wassink
Canners
|
maandag 25 juli 2011 13:49
|
|
CANNERS -
HTML5
|
De Pilsgame
Op veler verzoek komt hier een opzet van de Canners Pilsgame. Ik heb ooit geroepen dat die er zou komen, maar dat was lang lang geleden. Dus het wordt tijd... :D Het is tevens een tutorial voor het bouwen van games in HTML, waarin de belangrijkste principes worden uitgelegd.
Story
Het belangrijkste aan een goed spel is niet de gameplay uiteraard, maar het verhaal. Daarom hoef je na het lezen van de "lore" van deze game waarschijnlijk niet meer te spelen, aangezien het verhaal al zó sterk is.
Het spel draait allemaal om Fred, 35 jaar oud. Groot fan van nederlandstalige muziek, en op zijn minst een net zo grote afnemer van Schultenbrau. Zijn vrienden noemen hem al jaren Onslow... Zijn vrouw Ria runt een karig huishouden en samen zijn ze al 15 jaar ongelukkig. Om de gemoederen zo vriendelijk mogelijk te houden haalt Ria iedere dag een tweetal bakken bier voor Fred. Maar het ongeluk slaat toe: Ria valt bij het ophangen van de kerstverlichting erg ongelukkig en breekt al haar botten. Nu is dat op zich niet erg, maar het betekent wel dat Fred, die al jaren niet buiten komt, zélf zijn bier moet gaan halen bij de buurtsuper. Ons avontuur begint hier... Oh ja: Fred gaat nooit zonder gun de straat op. :D
Fred (In sprites)

Ria (In sprites)

Volgende update: Setup, Parallax Scrolling.
x
|
maandag 25 juli 2011 13:46
|
|
CANNERS -
nieuws
|
| Afgelopen donderdag hadden we weer eens een meeting over weer eens een mooie nieuwe opdracht... Eerst ouwehoeren over wat, waar en hoe enzo, daarna naar 't Westergasterras! Altijd leuk.

|
maandag 25 juli 2011 13:31
|
|
CANNERS -
canners algemeen
|
| En soms zit 't tegen:

|
|
|
|
|
|
|
|
Pagina 1 van 2 |